【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.GetOpenFilename:Stab 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
窗口最小化
窗口正常化