【C002】Excel VBA - 文件打开关闭 - McDelfino

时间:2024-03-17 16:16:12

【C002】Excel VBA - 文件打开关闭

来源:http://blog.csdn.net/alexbnlee/article/details/6924207

 1 → 实现标准的“打开”对话框,并获取用户文件名,而不必真正打开任何文件。获取文件的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

Application.GetOpenFilenameStab Me!!!

 2 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

Shell 函数Stab Me!!!

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

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

方法:Shell "App.PathFile.Path", vbMaximizedFocus
其中地址分成三部分,第一部分是可执行程序的位置,第二部分是一个空格,第三部分是需要打开文件的路径

Shell "C:\Program Files\Microsoft Office\Office14\excel.exe " & fileInformation, vbMaximizedFocus

就是打开Excel文件的方法~

Dim filePath As String
filePath = Application.GetOpenFilename("Excel(*.xlsx), *.xlsx", 1, "Open Excel")
If Len(filePath) > 5 Then
    Shell "C:\Program Files\Microsoft Office\Office14\excel.exe " & filePath, vbMaximizedFocus
Else
    MsgBox "Sorry!!!"
End If

 5 → 增加Workbook

Workbook.Add      \'增加工作簿

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

打开指定位置的文件

 6 → 关闭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

窗口最小化

窗口正常化