精华内容
下载资源
问答
  • True '保存修改并关闭该工作簿 End If Next End Sub Rem 判断已打开的工作簿文件后缀名 Function FileExt ( FileName As String ) As String On Error Resume Next If ...

    扩展名也可以是其它的xlsx之类的,自己修改扩展名就行了

    Sub SaveAllAndCloseXls()
        Dim FileName As String
        Dim extensionName As String
        For Each wbk In Workbooks
            FileName = wbk.Name	'获取文件的名字,带扩展名的那种,长这样:report.xls
            extensionName = FileExt(FileName)	'调用FileExt方法,获取文件扩展名,FileName 就是文件的名字啦
            If extensionName = "xls" Then
                wbk.Close Savechanges:=True		'保存修改并关闭该工作簿
            End If
        Next
    End Sub
    
    Rem 判断已打开的工作簿文件后缀名
    Function FileExt(FileName As String) As String
        On Error Resume Next
        If InStrRev(FileName, ".") > 0 Then
            FileExt = Right(FileName, Len(FileName) - InStrRev(FileName, "."))
        End If
        If Err <> 0 Then
            MsgBox Err.Description, vbCritical, "Kutools for Excel"
        End If
    End Function
    
    展开全文
  • 背景:一般情况下,打开Excel的文件类型为.xlsx,编写VBA代码后,关闭Excel,再次打开Excel后,代码消失 解决办法:更换文件类型,启用宏编辑 1.直接ctl+s保存VBA代码,弹出提示 2.根据弹框提示选择“否” 3.将...

    背景:一般情况下,打开Excel的文件类型为.xlsx,编写VBA代码后,关闭Excel,再次打开Excel后,代码消失
    解决办法:更换文件类型,启用宏编辑
    1.直接ctl+s保存VBA代码,弹出提示
    在这里插入图片描述
    2.根据弹框提示选择“否”
    在这里插入图片描述
    3.将文件另存为.xlsm格式的文件,文件名的后缀也会随之变化,无需处理
    在这里插入图片描述
    4.点击保存,生成新类型文件
    在这里插入图片描述
    5.直接打开新生成的.xlsm文件,就可以查看刚刚编写的代码了

    展开全文
  • Microsoft Excel 应用程序中当前打开的所有 Workbook 对象的集合。 说明 有关使用一个 Workbook 对象的详细信息,请参阅 Workbook 对象。 示例 使用 Workbooks 属性可返回 Workbooks 集合。下例关闭所有打开的...

    Workbooks 对象

    Microsoft Excel 应用程序中当前打开的所有 Workbook 对象的集合。

    说明

    有关使用一个 Workbook 对象的详细信息,请参阅 Workbook 对象。

    示例

    使用 Workbooks 属性可返回 Workbooks 集合。下例关闭所有打开的工作簿。

    Workbooks.Close

    使用 Add 方法可创建一个新空工作簿并将它添加到集合。下例给 Microsoft Excel 添加一个新空工作簿。

    Workbooks.Add

    使用 Open 方法可打开一个文件。这样会为打开的文件创建一个新工作簿。下例将文件 Array.xls 打开为只读工作簿。

    Workbooks.Open FileName:="Array.xls", ReadOnly:=True
    Workbooks 对象成员

    Microsoft Excel 应用程序中当前打开的所有 Workbook 对象的集合。

    方法

     名称说明
     Add新建一个工作表。新工作表将成为活动工作表。
     CanCheckOut如果 Microsoft Excel 可以将指定的工作簿从服务器签出,则该值为 TrueBoolean 类型,可读写。
     CheckOut返回一个 String 对象,该对象表示一个将从服务器签出到本机进行编辑的指定工作簿。
     Close关闭对象。
     Open打开一个工作簿。
     OpenDatabase返回一个 Workbook 对象,该对象代表一个数据库。
     OpenText载入一个文本文件,并将其作为包含单个工作表的新工作簿进行分列处理,然后在此工作表中放入经过分列处理的文本文件数据。
     OpenXML打开一个 XML 数据文件。返回一个 Workbook 对象。

    属性

     名称说明
     Application如果不使用对象识别符,则该属性返回一个代表 Microsoft Excel 应用程序的 Application 对象。如果使用对象识别符,则该属性返回一个代表指定对象的创建程序的 Application 对象(可对一个 OLE 自动化对象使用该属性来返回该对象的应用程序)。只读。
     Count返回一个 Long 值,它代表集合中对象的数量。
     Creator返回一个 32 位整数,该整数指示创建对象的应用程序。只读 Long 类型。
     Item从集合中返回一个对象。
     Parent返回指定对象的父对象。只读。

     

    Workbook 对象

    代表一个 Microsoft Excel 工作簿.

    说明

    Workbook 对象是 Workbooks 集合的成员。Workbooks 集合包含 Microsoft Excel 中当前打开的所有 Workbook 对象。

    ThisWorkbook 属性

    ThisWorkbook 属性返回运行 Visual Basic 代码的工作簿。在大多数情况下,该工作簿与活动工作簿是同一个。但是,如果 Visual Basic 代码是加载宏的组成部分,ThisWorkbook 属性就不会返回活动工作簿。此时,活动工作簿是调用该加载宏的工作簿,而 ThisWorkbook 属性返回加载宏工作簿。

    如果用 Visual Basic 代码创建加载宏,那么对于那些编译到加载宏中的工作簿,在其中运行的语句应当用 ThisWorkbook 属性加以限定。

    示例

    使用 Workbooks(index)(其中index 是工作簿名称或索引号)可返回一个 Workbook 对象。下例激活工作簿一。

    Workbooks(1).Activate

    编号指示创建或打开工作簿的顺序。Workbooks(1) 是创建的第一个工作簿,而 Workbooks(Workbooks.Count)Workbooks 是最后一个。激活某工作簿并不更改其索引号。所有工作簿均包括在索引计数中,即便是隐藏工作簿也是如此。

    Name 属性返回工作簿名称。您不能通过使用此属性来设置该名称;如果您需要更改该名称,请使用 SaveAs 方法,将该工作簿保存为其他名称。下例激活名为“Cogs.xls”的工作簿(该工作簿必须已经在 Microsoft Excel 中打开)中的 Sheet1。

    Workbooks("Cogs.xls").Worksheets("Sheet1").Activate

    ActiveWorkbook 属性返回当前处于活动状态的工作簿。下例设置活动工作簿作者的名称。

    ActiveWorkbook.Author = "Jean Selva"

     

    展开全文
  • 2.再另外打开你自己需要操作的另一个Excel文件,保持你要操作的工作表做为当前活动工作表; 3.在你的文件中按Ctrl+I (或在你的文件中手动执行宏,然后选择本EXCEL文件中的宏InsertPic3); 4.然后会出现文件夹选择...
  • VBAExcel导出为CSV文件

    千次阅读 2020-08-08 19:34:44
    Sub csv() Dim Fs, myFile As Object Dim myfileline As String 'txtfile的行数据 ...") MsgBox "已保存工作表内容到注册表:HKEY_CURRENT_USER\Software\VB and VBA Program Settings\MyApp201912\MySection" End Sub
    Sub csv()
        Dim Fs, myFile As Object
        Dim myfileline As String 'txtfile的行数据
        Dim sht As Worksheet
        Dim csvFileName As String 'csv文件名
        Dim totalRows As Integer ' 总的行数
        Dim totalColumns As Integer '总的列数
        Dim sheetNumber As Integer '工作表号
        Dim strAll As String '整个工作表的文本
        
        csvFileName = InputBox("请输入文件名:", "CSV", "export_csv")
        totalRows = 17 ' 总的行数
        totalColumns = 10 '总的列数
        sheetNumber = 1 '工作表号
       
        For Each sht In ThisWorkbook.Sheets
           
            Set Fs = CreateObject("Scripting.FileSystemObject")   '建立filesytemobject
            Set myFile = Fs.createtextfile(ActiveWorkbook.Path & "\" + csvFileName & "_Sheet" + CStr(sheetNumber) + ".csv") '通过filesystemobject新建一个csv文件
            
            For i = 1 To totalRows  '从第1行开始
                ra = CStr(sht.Cells(i, 1).Value)    '从第一列开始
                If ra = "" Then Exit For
                rb = ""
                For j = 1 To 10
                    ca = CStr(sht.Cells(1, j).Value)
                    If ca = "" Then Exit For
                    If rb = "" Then
                        rb = CStr(sht.Cells(i, j).Value)
                    Else
                        rb = rb & "," & CStr(sht.Cells(i, j).Value)
                    End If
                Next j
                myFile.writeline (rb)
                strAll = strAll + rb + vbCrLf
                
            Next i
            Set myFile = Nothing
            Set Fs = Nothing                   '关闭文件和filesystemobject对象
             
             SaveSetting AppName:="MyApp201912", Section:="MySection", Key:="Sheet" & CStr(sheetNumber), Setting:=strAll '保存所有文本到注册表
             
             sheetNumber = sheetNumber + 1 '下一个工作表
             
        Next
        
        MsgBox ("已保存了" + CStr(sheetNumber - 1) + "个CSV文件!")
        
        MsgBox "已保存工作表内容到注册表:HKEY_CURRENT_USER\Software\VB and VBA Program Settings\MyApp201912\MySection"
    End Sub
    

     

    展开全文
  • 1、关闭文件时如果文件做了修改,系统会提示保存,用下列语句就不会提示了: ThisWorkbook.Close savechanges:=False False表示不保存修改,如果改为True,则保存修改。类似的: ActiveWindow.Closesavechanges:...
  • 具体操作为: 1.EXCEL打开TXT文本; 2.选择分隔符什么的(已经录制操作); 3.另存为同名EXCEL文件不关闭; ...4.执行一系列操作后(已经录制);...5.保存excel关闭; 6.再打开下一个txt,重复操作~~~~~
  • VBA操作Excel之设置单元格属性

    千次阅读 2020-10-16 22:19:32
    VBA操作Excel简介一、VBA读写Excel文件 一、VBA读写Excel文件
  • Excel VBA编程

    万次阅读 多人点赞 2019-04-11 16:45:51
    文章目录如何创建VBAVBA语法规则声明变量给变量赋值让变量存储的数据参与运算关于声明变量的其他知识变量的作用域特殊的变量——数组声明多维数组声明动态数组其他创建数组的方法数组函数利用UBound求数组的最大索引...
  • VBA-EXCEL批量打印

    千次阅读 2018-12-14 17:17:49
    Sub dlkfjdl() Dim MyFile As String ... ActiveWorkbook.Save '保存当前工作簙 ActiveWorkbook.Close '关闭当前工作簙 MyFile = Dir If MyFile = "" Then Exit Do Debug.Print MyFile Loop End Sub
  • 使用方法: 1、将需要拆分的EXCEL文件放在一个单独的文件夹,打开这个EXCEL文件,并关闭其他打开的EXCEL文件; 2、excel表格保留一行标题行,...5、在文件夹中将生成拆分好的文件,可关闭这个EXCEL文件,选择不保存
  • Excel VBA - 文件打开或关闭相关

    万次阅读 2011-11-01 13:00:26
    →实现标准的“打开”对话框,获取用户文件名,而不必真正打开任何文件。获取文件的FullName 表达式.GetOpenFilename(FileFilter,FilterIndex,Title, ButtonText, MultiSelect) FileFilter:过滤文件Title:标题...
  • '4 excel文件打开和关闭 Sub w4() Dim wb As Workbook Set wb = Workbooks.Open( "D:\B.xls" ) MsgBox wb.Sheets( "sheet1" ).Range( "a1" ).Value wb.Close False End Sub '5 excel文件...
  • OpenExcel 是一种命令行实用程序,它提供了打开一个或多个 Excel 文件、等待指定秒数然后关闭工作簿的功能。 另一种选择是使用 TASKKILL,但是这种方法会关闭 Excel 的所有实例。 OpenExcel 的优点是它只关闭特定的...
  • 通过VBAexcel数据导入至word文档

    万次阅读 2016-05-11 16:20:21
    通过VBAexcel数据导入至word文档
  • vba 控制excel与word

    2019-07-04 12:38:28
    Private Sub Workbook_BeforeClose(Cancel As Boolean) '关闭工作簿前运行 ' ' Dim r_int As Integer '注意这个是public r_int = 2 '第r行及以上要保留,否则删掉内容 Sheets("statement_info").Rows(r_int + 1 &...
  • excel vba】拆分表格

    2020-07-30 23:17:06
    拆分表格并保存函数Application主程序对象Open 打开文件Add 新建工作簿练习拆分表存储成文件利用筛选分离表格内容 函数 Application主程序对象 application.displayalsert=false 表示不要弹窗 Open 打开文件 eg : ...
  • 如果消息框只是提醒用户,不需要获取用户的输入,那么使用可以自动关闭的消息提示框,可以避免程序暂停挂起,无法继续执行的问题,但是VBA中提供的MsgBox无法实现自动关闭的功能。下面介绍一个未公开的Windows API...
  • 实现excel单个工作表的批量转存,单个工作表由于不是文件级别的对象,因此不能直接使用saveas方法,而是利用了sh.copy,在使用.copy方法时相当于重新生成了一个workbook,再通过saveas另存为,实际上这段代码也可以...
  • VBAExcel中的插件制作

    千次阅读 2017-11-14 16:16:00
    VBAExcel中的插件制作 步骤1: 在Excel工具栏的开发工具中启动Visual Basic,进入宏编辑页面如图1: 在VBA Project中右键插入模块,命名为自定义功能区,写好的VBA代码就可以写入右边的白色框框中。 步骤2:...
  • MsgBox "保存前检测到无内容变化,不需要额外保存关闭" End If End Sub   如果这样,就无法正常关闭工作簿 因为现在只开了一个工作簿 不让关闭这个工作簿,也就相当于无法退出EXCEL Private ...
  • Excel VBA解密教程

    2020-06-24 14:14:20
    2、 在文件里查找 “DPB”,把它改成 “DPx”,保存修改。( 注意大小写 ) 3、 用 Excel 重新打开这个文件( 弹框点 “是” 即可)** 4、按 “Alt + F11” 进入 “Visual Basic” 代码页面。( 对出现的提示弹框...
  • excel vba saveas 另存为使用方法

    千次阅读 2020-02-29 21:16:37
    excel vba 保存代码 Sub 保存工作簿() ThisWorkbook.Save '.save相当于按保存按钮;无参数 ThisWorkbook.SaveAs "另存为工作簿" '把当前工作簿另存为一份新的工作簿 ThisWorkbook.SaveCopyAs "另存一份副本" '...
  • VBAExcel中的应用用VBA将同一工作簿中不同工作表拆成独立文件问题描述1.在“开发工具”选项卡中选择”Visual Basic”2.插入模块运行结果可能存在的问题 用VBA将同一工作簿中不同工作表拆成独立文件 问题描述 有一...
  • Application app = null; private void ThisAddIn_Startup(object sender, EventArgs e) { app = Globals.ThisAddIn....//禁止弹框会导致关闭excel没有提示所以要设置为true app.DisplayAlerts = false; } ...
  • 通过简单的VBA编写,我们可以让EXCEL变成股票查看软件,可以查看股票涨跌情况。如果录入了自己的持股信息,还可以查看自己的收益情况。也许有人会说有股票软件为什么还要用EXCEL来查看,这我就不解释了。以下是EXCEL...
  • 今天有人问我Excel单元格插入图片实现单(双)击放大的功能该怎么设置,百度和Google了一下,发现大多数是利用插入批注的方式,但不是很方便,后来看到有人用VBA代码实现了这个功能,更加方便和灵活,插入多个图片...
  • Excel VBA 基础教程

    2019-01-01 18:51:06
    .................................................................................................................1 1.1 VBA是什么...........................................................................
  • EXCEL VBA连接SQL数据库

    万次阅读 多人点赞 2019-01-09 19:05:05
    说明 :EXCEL VBA连接SQL数据库一般有以下3个步骤: 1.VBA连接数据库之前需要创建连接对象:可以采用以下方式 `Dim CN As Object Set CN = CreateObject(&amp;quot;ADODB.Connection&amp;quot;) ...
  • 如何利用VBA批量更改Excel文件的内容

    千次阅读 2019-09-05 15:40:10
    心得(5):利用VBA批量更改Excel文件的内容 问题:因为接受的所有Excel文件都是相同格式的,但是有个单元格的内容就是需要,主办方来更改,如下所示: 获奖级别,得由主办方来更改,但是如果一个一个打开的话这样就...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,986
精华内容 1,194
关键字:

vba保存excel并关闭