网站首页 > 开源技术 正文
Application.FileDialog 文件对话框 操作方法。
语法:Application.FileDialog(FileDialogType) FileDialogType 是必须的,对应的类型如下:msoFileDialogFilePicker (数字简写 3) “文件选取器”对话框;msoFileDialogFolderPicker (数字简写 4) “文件夹选取器”对话框;msoFileDialogOpen (数字简写 1) “打开”对话框;msoFileDialogSaveAs (数字简写 2) “另存为”对话框。
With Application.FileDialog(msoFileDialogFilePicker) '“文件选取器”对话框
.AllowMultiSelect = False '不可以多选
.Filters.Add "Excel Files", "*.xls,*.xlsx" '文件筛选
If .Show = -1 Then '执行Show操作,并判断是否选择了文件
GOF = .SelectedItems(1)
Else
MsgBox "未选择文件,程序中止"
Exit sub
End If
End With
(1) Filters.Add 方法。在“文件”对话框的“文件类型”下拉列表框的筛选器列表中添加一个新的文件筛选器。示例语句: .Filters.Clear ;.Filters.Add "Excel Files", "*.xls,*.xlsx"
(2) FileDialog.Title 属性。设置FileDialog 弹出窗口的标题。.Title= “请选择正确的文件或文件夹”
(3)
FileDialog.AllowMultiSelect 属性。如果允许从文件对话框中选择多个文件,则为 True。说明:此属性对“文件夹选取器”对话框和“另存为”对话框无效。
(4) FileDialog.Show 方法:判断按下的是“打开”按钮 (点击的这个按钮,Show被赋值为 -1) 还是“取消”按钮 (0)。在“msoFileDialogOpen”和“msoFileDialogSaveAs”对话框中,在使用了 Show 方法后,使用 .Execute ,就会执行Open或SaveAs操作。
可以看出,只需要打开文件,用FileDialog(msoFileDialogOpen)比GetOpenFilename更简单、直接些。注:FileDialog要执行Show语句才会弹出窗口(这点不同于GetOpenFilename), Execute必须在Show执行后才会有效。
(5)
FileDialog.InitialFileName 属性
设置为一个 String 类型的值,代表文件对话框中初始显示的路径或文件名。说明:在指定文件名时可以使用 '*' 和 '?' 通配符,但是指定路径时不能使用这些通配符。语句示例.InitialFileName = "E:\temp\网点日常运行情况概览*.xls" 弹出的对话框中将只显示“网点日常运行情况概览*”的文件,文件夹定位在E:\temp。
如果指定了路径而没有指定文件名,则对话框中将显示文件筛选器所允许的所有文件。如果指定了位于初始文件夹中的某个文件,则对话框中只显示该文件。如果指定了初始文件夹中不存在的某个文件名,则对话框中将不包含文件。在 InitialFileName 属性中指定的文件类型将覆盖文件筛选器的设置。
通过InitialFileName 属性,可以控制“弹出对话框”所显示的文件夹,不用到处找需要选取的文件所在的文件夹。
下面为“多选文件”的示例语句:
Sub filedia()
With Application.FileDialog(msoFileDialogOpen)
.Title = "请选择文件"
.AllowMultiSelect = True
.InitialFileName = "E:\temp"
.Filters.Add "Excel Files", "*.xls,*.xlsx"
If .Show = True Then
Set GOF = .SelectedItems
Else: Exit Sub
End If
End With
.SelectedItems 是个类似“字典”结构的对象,赋值给GOF(要用Set),然后再取出文件名称。(多选的情况下,Show之后执行Execute,会同时将选择的文件都打开。Execute不像SelectedItems,有SelectedItems(1),它不能写成Execute(1)。
下为Application.FileDialog 选取一个文件夹的语句:
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "请选择一个文件夹"
.InitialFileName = "E:\"
If .Show = -1 Then
Fd = .SelectedItems(1)
Else: Exit Sub
End If
End With
附:FileLen(fn) fn为一个文件全路径+名称,FileLen函数得到文件大小,以“字节”为单位
FileDateTime(fn) ,FileDateTime函数得到“文件最后修改的时间”
猜你喜欢
- 2025-03-20 Qt 中设置窗体(QWidget)透明度的几种方法
- 2025-03-20 小白之Tkinter库读文:Tkinter目录(1)
- 2025-03-20 iPhone SE拆解:原來這些地方沒有變過
- 2025-03-20 一学会用python编写截取屏幕截图软件
- 2025-03-20 微信WeUI设计规范文件下载及使用方法
- 2025-03-20 10分钟实现PDF转Word神器!看DeepSeek如何用Python解放打工人
- 2025-03-20 生成AutoCAD图纸批量合并代码(cad图纸合并命令)
- 2025-03-20 15.5 PyQt5-SignalSlot自定义信号实现多窗口交互
- 2025-03-20 Qt设备识别(简单的密钥生成器)(qt程序不依赖代码进行密钥验证)
- 2025-03-20 挖挖里面细节 iPhone6/Plus主板剖析图
你 发表评论:
欢迎- 03-26业务监控—一站式搭建jmeter+telegraf+influxdb+Grafana看板
- 03-2615个最好的性能测试工具(软件测试工程师必备)
- 03-26软件测试工程师必备技巧!(软件测试工程师入门教程)
- 03-26UE4基础知识总结(七)(ue4入门)
- 03-26Portkeys推出新款HDMI播放器:5.5英寸FHD屏幕,支持4K输入/输出
- 03-26数字时代的纯粹,HiFiMan HM-901S 播放器体验
- 03-26CBN丨Double 11 sales shows resilience in China’s consumption
- 03-26AKG K812简单听感(akgk812pro评测)
- 最近发表
-
- 业务监控—一站式搭建jmeter+telegraf+influxdb+Grafana看板
- 15个最好的性能测试工具(软件测试工程师必备)
- 软件测试工程师必备技巧!(软件测试工程师入门教程)
- UE4基础知识总结(七)(ue4入门)
- Portkeys推出新款HDMI播放器:5.5英寸FHD屏幕,支持4K输入/输出
- 数字时代的纯粹,HiFiMan HM-901S 播放器体验
- CBN丨Double 11 sales shows resilience in China’s consumption
- AKG K812简单听感(akgk812pro评测)
- 盘点索尼Walkman发展史,哪台播放器让你印象深刻
- LUXMAN力仕 DA-07X 解码器#发烧hifi
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)