精华内容
下载资源
问答
  • Excel VBA - 文件打开关闭相关

    万次阅读 2011-11-01 13:00:26
    →实现标准的“打开”对话框,并获取用户文件名,而不必真正打开任何文件。获取文件的FullName 表达式.GetOpenFilename(FileFilter,FilterIndex,Title, ButtonText, MultiSelect) FileFilter:过滤文件Title:标题...

    →实现标准的“打开”对话框,并获取用户文件名,而不必真正打开任何文件。获取文件的FullName
    表达式.GetOpenFilename(FileFilter,FilterIndex,Title, ButtonText, MultiSelect)
    FileFilter:过滤文件Title:标题MultiSelect:可以多选

    Sub Stop1()
        Dim fileInformation As String
        Dim fi As Workbook
        fileInformation = Application.GetOpenFilename( _
        filefilter:="Excel 工作簿(*.xlsx),*.xlsx", _
        Title:="打开Excel文件")
        MsgBox fileInformation
        Shell "C:\Program Files\Microsoft Office\Office14\excel.exe " & fileInformation, vbMaximizedFocus
    End Sub
    

    Shell函数

    执行一个可执行文件,返回一个 Variant (Double),如果成功的话,代表这个程序的任务 ID,若不成功,则会返回 0。

    语法
    Shell(pathname[,windowstyle])
    Shell "C:\WINDOWS\system32\calc.EXE", 1    ' 完成Calculator。
    也可以这样:
    Sub djfkl()
        Dim RetVal
        RetVal = Shell("C:\WINDOWS\system32\calc.EXE", 1)    ' 完成Calculator。
    End Sub

    →打开文本文件参考:http://infos.edulife.com.cn/200503/2005038517.html

    →用Shell 函数打开非可执行文件的方法

    方法:Shell "App.PathFile.Paht", vbMaximizedFocus
    其中地址分成三部分,第一部分是可执行程序的位置,第二部分是一个空格,第三部分是文件的位置
    Shell "C:\Program Files\Microsoft Office\Office14\excel.exe " & fileInformation, vbMaximizedFocus

    就是打开Excel文件的方法~


    增加Workbook

    Workbook.Add      '增加工作簿

    Workbooks.Open Filename:=ThisWorkbook.Path & "\工作簿 - " & i & ".xlsx"

    打开指定位置的文件

    关闭Workbook

    ActiveWorkbook.Close SaveChanges:=True, Filename:=ThisWorkbook.Path & "\工作簿1"

    第一个参数表示保存改变,第二个参数表示工作簿名称,同时可以加入路径

    Sub addSheet()
        For i = 1 To 10
            Workbooks.Add
            For j = 1 To 10
                Cells(j, 1) = j
            Next
            ActiveWorkbook.Close savechanges:=True, Filename:=ThisWorkbook.Path & "\工作簿 - " & i
        Next
    End Sub
             

    窗口最大化

    Application.WindowState = xlMaximized

    窗口最小化

    窗口正常化



    展开全文
  • 扩展名也可以是其它的xlsx之类的,自己修改扩展名就行了 Sub SaveAllAndCloseXls() Dim FileName As String Dim extensionName As ... FileName = wbk.Name '获取文件的名字,带扩展名的那种,长这样:report.x...

    扩展名也可以是其它的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 Dim str As String '这个vba代码是后处理的代码,加载阶段未接触上进行修正 Dim wb As Workbook str = Dir("C:\Users\DELL\Desktop\保存\*.*") ' ActiveWindow....

    '因为自己昨天想不通,在路上想了一会儿,今天过来一会儿就想明白了,看来做事还是讲效率比较好,磨时间没意义

    Sub dakaiguanbi()
    '这个代码就是进行二次后处理并生成建立新的excel
     Dim str As String
     '这个vba代码是后处理的代码,加载阶段未接触上进行修正
      Dim wb As Workbook
      str = Dir("C:\Users\DELL\Desktop\保存\*.*")
      

     ' ActiveWindow.WindowState = xlNormal
      
      Dim xunhuan As Integer

       For xunhuan = 1 To 3
      
         Workbooks.Open Filename:= _
            "C:\Users\DELL\Desktop\保存\" & str
      Windows("" & str & "").Activate
      '新建或者打开二次后处理文件
      Application.DisplayAlerts = False
                  If IsFileExists("C:\Users\DELL\Desktop\二次后处理\" & str & "二次后处理" & ".xlsx") = False Then '避免重复生成
                Workbooks.Add
                      ActiveWorkbook.SaveAs Filename:="C:\Users\DELL\Desktop\二次后处理\" & str & "二次后处理" & ".xlsx", FileFormat:= _
                          xlOpenXMLWorkbook, CreateBackup:=False
                Else
                     Workbooks.Open ("C:\Users\DELL\Desktop\二次后处理\" & str & "二次后处理" & ".xlsx")
                     Application.WindowState = xlMaximized
                '    Set wbs = Workbooks.Open("C:\Users\周伟\Desktop\" & weiya & "kpa-" & zhoubian & "%" & date1 & ".xlsx")
                End If
        Application.DisplayAlerts = True
        
        
         Application.DisplayAlerts = False
        ActiveWorkbook.Save
        ActiveWindow.Close
        'Workbooks(name1).Close
        
        Windows("" & str & "").Close
        Application.DisplayAlerts = True

        str = Dir
     If str = "" Then
       Exit For
       End If
       Next
        

    End Sub
    ‘20201127-9:45

    展开全文
  • VBA下弹框打开excel文件并读取数据

    万次阅读 2017-05-02 11:24:59
    Sub LoadExcelData() Dim wkbk As Workbook '定义一... Dim myFileName As String '定义要读取的文件路径 Dim dataRow As Integer '定义数据的行 Dim dataColumn As Integer '定义数据的列 Dim rgRC As String '读

    Sub LoadExcelData()
        Dim wkbk As Workbook  '定义一个工作薄
        Dim myFileName As String '定义要读取的文件路径
        Dim dataRow  As Integer '定义数据的行
        Dim dataColumn As Integer '定义数据的列
        Dim rgRC As String '读取的单元格内容(dataRow,dataColumn)
        Dim arr(3 To 10, 1 To 9) As String '定义一个二维数组
       ' myFileName = Application.GetOpenFilename("EXCEL文件(*.xlsx), *.xls")  '浏览文件,如XX公司17年XX表.xls
        If myFileName = "False" Then  '如果按取消那么弹出对话框
            'MsgBox "请选择文件!", vbInformation, "取消"
        Else
        Set wkbk = Workbooks.Open(myFileName) '先打开要复制的文件
     
            wkbk.Activate '激活打开工作簿
                    
            For dataRow = 3 To 10  '设置行的范围
                For dataColumn = 1 To 9   '设置列的范围
                    Sheets("sheet1").Activate
                    rgRC = Cells(dataRow, dat

    展开全文
  • OpenExcel 是一种命令行实用程序,它提供了打开一个或多个 Excel 文件、等待指定秒数然后关闭工作簿的功能。 另一种选择是使用 TASKKILL,但是这种方法会关闭 Excel 的所有实例。 OpenExcel 的优点是它只关闭特定的...
  • Sub MyMacro() Application.AutomationSecurity = 3 '禁用宏 Workbooks.Open ThisWorkbook.Path & “\1.xlsm” Application.AutomationSecurity = 2 '恢复选择 End Sub
  • Microsoft Excel 应用程序中当前打开的所有 Workbook 对象的集合。 说明 有关使用一个 Workbook 对象的详细信息,请参阅 Workbook 对象。 示例 使用 Workbooks 属性可返回 Workbooks 集合。下例关闭所有打开的...
  • Public Function getTblExcel(strExcel As String) On Error GoTo Create '-----------定义Excel的对象----------... Dim xlApp As Excel.Application '引用了 Microsoft Excel 14.0就会出现这个对象 Dim xlWbk As E
  • Excel-VBA文件操作

    千次阅读 2018-10-05 02:16:29
    2、利用VBA文件处理语句来处理文件; 3、利用FileSystemObject对象来处理文件; 4、利用API函数来处理文件。 对于数据库文件,还可以利用ADO+SQL的方法操作,本文不讨论 利用Excel对象自带的方法来操作文件是最...
  • 利用VBA快速整合多个excel文件

    万次阅读 2019-08-25 15:55:36
    心得(一):关于VBA如何把同一个文件下的所有文件的内容合并到同一个excel文件下 问题:如何把多个格式相同的excel整合到一个excel上,起初想的是可以直接用复制粘贴……但是文件有几百个将近一千个,这么做的话有点...
  • 如何利用VBA批量更改Excel文件的内容

    千次阅读 2019-09-05 15:40:10
    心得(5):利用VBA批量更改Excel文件的内容 问题:因为接受的所有Excel文件都是相同格式的,但是有个单元格的内容就是需要,主办方来更改,如下所示: 获奖级别,得由主办方来更改,但是如果一个一个打开的话这样就...
  • 1、将需要拆分的EXCEL文件放在一个单独的文件夹,打开这个EXCEL文件,并关闭其他打开EXCEL文件; 2、excel表格保留一行标题行,并把第一列数据填写为拆分项(文件拆分时将按第一列的内容进行归类合并为一个文件)...
  • } } excel注意两点: 把点击控件事件(宏)放入Workbook_Open() 下面,加载完毕自动触发按钮控件 Private Sub Workbook_Open() 执行结束自动保存关闭文件 Workbooks(1).Save Application.Quit 以上就是本文的...
  • Excel-VBA操作文件四大方法

    万次阅读 2017-12-21 15:26:48
    在我们日常使用Excel的时候,不仅会用到当前Excel文件的数据,还经常需要访问其他的数据文件。这些数据文件可能是Excel文件、文本文 件或数据库文件等。经常有朋友会问如何在vba代码里操作这些数据文件?本文就
  • 利用VBA我们可以批量的生成或者编辑excel文件,还可以根据业务逻辑需要制作报表。 下面来介绍一些常用的操作实现 打开指定目录的spreadsheet Workbooks.Open "C:\TSG Developer BAR with Held Resources ....
  • VBA批量替换内容生成Excel文件

    千次阅读 2019-01-25 23:30:51
    VBA批量替换内容生成Excel文件 工作中有时候需要根据模板Excel文件不断的创建新的Excel文件,并且每个新的Excel文件都只是一部分特定的内容修改过,显然利用程序自动生成是比较好方法。 根据数据源文件和模板文件...
  • VBA批量操作excel文件

    2021-11-16 09:56:34
    Application.ScreenUpdating = False '冻结屏幕,打开各个文件关闭时屏幕不会晃瞎你的狗眼 Path = "c:\temp\" '把目标文件夹路径赋值给变量,这里的路径可以自己改 File = Dir(Path & "*.xlsx") '一次找寻...
  • VBA技巧】不打开Excel读取数据

    千次阅读 2020-03-26 09:57:07
    换用VBA则可以快速打开后马上复制好,能节省不少时间和精力。 Workbooks.Open可以很方便地打开文件,但是当需要操作的文件过多的时候,状态栏堆满了打开文件也不好看。下面介绍两种不用打开文件就能提取数据的...
  • Sub VBA打开文件夹内所有Excel表格() Dim myPath$, myFile$, WB As Workbook '这个$ 是相当于定义字符串 myPath = "F:\" '把文件路径知定义给变量,这里请自行更改,记得最后要加一个反斜杠 myFile = Dir(myPath ...
  • VBA 有很多用于文件操作的语句和函数,能满足绝大多数场景下的文件操作要求。本文将按操作目的一一进行介绍。
  • '1 判断A.Xls文件是否存在 Sub W1() If Len(Dir("D:\A.xls")) = 0 Then MsgBox "A文件不存在" Else MsgBox "A文件存在" End If End Sub'2 判断A.Xls文件是否打开 Sub W2() Dim X As Integer
  • Excel VBA 利用FileSystemObject处理文件

    千次阅读 2020-10-01 11:18:20
    Excel VBA 利用FileSystemObject类处理文件 FileSystemObject介绍 FileSystemObject是Windows Script Host Object Model对象模型的成员,能够对文件进行方便的基本操作,读取,写入,提取关键字等操作。若与...
  • 具体操作为: 1.EXCEL打开TXT文本; 2.选择分隔符什么的(已经录制操作);...3.另存为同名EXCEL文件关闭; 4.执行一系列操作后(已经录制); 5.保存excel关闭; 6.再打开下一个txt,重复操作~~~~~
  • 发现系统批量搜索Excel中的文字不好用,替换更无从谈起,于是利用...搜索是根据文件夹列表和文件夹路径逐一打开Excel文件,对检索的文本进行搜索并记录和加载超级链接,该链接定位到单元格。将加载超级链接的搜索结...
  • Function CopyAgilent(p) Dim fname As String Dim wb As Workbook Dim strCSV As String Dim xlApp As Object Dim XlBook As Excel.Workbook Dim arr Application.Scree.
  • vba open 打开状态Excel/Word时的状态 Getobject的使用发现 发现如果这个Word文件打开着的状态, 就算有过改动 , 运行以下代码的时候, 再打开这个文件时,没有任何变化或提示说是否重新打开, 是否放弃更改之类的信息....
  • Excel VBA 读取其它excel单元格内容详细案例 通过一个按钮读取其它excel表格的内容的方法: 创建一个按钮 在excel表单插入按钮,进入design mode后双击按钮进入宏程序编辑 ``` Private Sub CommandButton3_...
  • 打开符合要求的文件 For  xNo  =   3   To  xDis  strProject  =  Workbooks(strname).Worksheets( " System " ).Range( " A8 " ).Value  strDep  =  Workbooks(strname).Worksheets( " System " ).Range...
  • 心得(2):如何利用VBA一键更改多个excel文件为指定的名称 问题:如何一键更改相同目录下的所有excel文件的名称,改为这个excel文件名内的每个单元格的内容,如我这个因为是要统计所有比赛队伍的信息,因为大部分人的...
  • 经常会遇到网友提问,如何实现在不打开Excel工作簿文件的前提下,读取其中的工作表名称。说实话,我不太理解这个需要应用的场景,但是我相信存在的就是合理的,既然有人提问,可能就有其应用的场景。 常规实现思路是...

空空如也

空空如也

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

vba打开关闭excel文件