excelvba代码关闭后再打开(功能模块-操作另一个Excel文件-01-文件打开窗口)
- 系统环境:Windows 10
- Excel:2016版本
这个系列集锦一些常用的功能模块,在一些项目中会穿插应用
功能模块中又包括很多子模块,本文涉及的是:非当前Excel文件读写
今天讲讲如何使用VBA实现打开文件窗口,选择文件
Part 1:场景介绍
- 当我们使用VBA制作一个系统时,有的时候希望可以实现文件的手动选择功能
- 然后对选择的文件进行自动化操作等
- 类似于Excel界面中选择菜单文件-打开,弹出的对话框,如图1所示
图1 选择文件窗口
Part 2:代码实现- 以下代码实现了打开窗口,并且限制只能选择后缀名为xlsx,txt,xlsm的文件
Sub test()
Set objFSO = CreateObject("Scripting.FileSystemObject")
With Application.FileDialog(msoFileDialogOpen)
.Title = "请选择文件"
.AllowMultiSelect = True
.Filters.Clear
.Filters.Add "Excel文件", "*.xlsx;*.txt;*.xlsm"
.FilterIndex = 2
.InitialFileName = ThisWorkbook.Path
.Show
For Each wenJian In .SelectedItems
longName = wenJian
shortName = objFSO.GetFileName(wenJian)
Debug.Print ("longName=" & longName)
Debug.Print ("shortName=" & shortName)
Call File_Insert(longName, shortName)
Next
End With
End Sub
图2 执行过程
Part 3:部分代码解读- .Title = "请选择文件",窗口的名字
- .AllowMultiSelect = True,允许一次选择多个文件
- .Filters.Add "Excel文件", "*.xlsx;*.txt;*.xlsm",只能选择这三种格式的文件:xlsx,txt,xlsm。不同文件类型之间使用;隔开,整体使用""包络
- .InitialFileName = ThisWorkbook.Path,默认打开到当前文件夹下,可以更改
- For Each wenJian In .SelectedItems,对于每一个选择的文件可分别进行操作
以上,为本次的介绍内容,下回见。
本文首发于Excel高效办公之VBA。排版和细节略作修改,发于头条
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com