VBA入门到进阶常用知识代码总结34

第34集 调用Excel对话框
150、 GetOpenFilename方法
GetOpenFilename相当于Excel打开窗口,通过该窗口选择要打开的文件,并可以返回选择的文件完整路径和文件名。
注:此方法并不会真正打开文件,无法选取文件夹。
语法:
Application.GetOpenFilename(文件类型筛选规则,优先显示第几个类型的文件,标题,是否允许选择多个文件名)
文件类型筛选规则:
“文件类型说明文字,.文件类型后辍"
Sub t4()
Dim f
f = Application.GetOpenFilename("Excel2003文件,
.xls,Word文件,.doc,文本文件,.txt”, 2, “选择要汇总的文件”)
MsgBox f
End Sub

'5 选择多个文件,并以数组形式返回
Sub t5()
Dim f
ChDrive “F” '首先改变盘符,不可省略
ChDir “F:\视频教程\Excel VBA\5、视频\赵志东VBA基础入门到高级开发80集\VBA80_第34集:调用Excel对话框” '再输入具体路径字符串
’ ChDir Application.Path
'ChDir “…”
f = Application.GetOpenFilename(“Excel2003文件,.xls,Word文件,.doc,文本文件,.txt", 1, MultiSelect:=True)
MsgBox f(1)
End Sub
151、 GetSaveAsFilename方法
和GetOpenFilename方法类似。
GetSaveAsFilename(默认显示的文件名,筛选条件,多个筛选类型时显示第几个,标题)
注:该窗口也会有实质性的保存操作.只作为返回文件名的一个途径。
Sub t1()
Dim f
f = Application.GetSaveAsFilename(“示例.xls”, "excel表格,
.xls”, , “保存示例”)
MsgBox f
End Sub
152、 FileDialog对象
重点学习,能打开文件,能选取文件夹,更先进。
一 FileDialog 对象简介
提供文件对话框,功能与 Microsoft Office 应用程序中标准的“打开”和“保存”对话框类似。
利用这些对话框,解决方案的用户可以简便地指定解决方案中应该使用的文件和文件夹。
msoFileDialogFilePicker 允许用户选择一个文件。
msoFileDialogFolderPicker 允许用户选择一个文件夹。
msoFileDialogOpen 允许用户打开一个文件。
msoFileDialogSaveAs 允许用户保存一个文件。

“打开”对话框:让用户选择一个或多个可以在主机应用程序中使用 Execute 方法打开的文件。
“另存为”对话框:让用户选择一个可以使用 Execute 方法保存当前文件的文件。
“文件选取器”对话框:让用户选择一个或多个文件。用户选择的文件路径将捕获到 FileDialogSelectedItems 集合。
“文件夹选取器”对话框:让用户选择一个路径。用户选择的文件路径将捕获到 FileDialogSelectedItems 集合。

二 属性和方法

AllowMultiSelect 如果允许用户从文件对话框中选择多个文件,则返回 True。Boolean 类型,可读写
SelectedItems 选取的多个文件集合
InitialFileName 属性: 设置初始路径和文件名称
InitialView 属性: 可以设置初始文件的显示样式
Show 可以判断用户是否点击了取消按钮, 如果点击取消会返回0, 否则返回
在这里插入图片描述
'选择并返回一组文件名和路径
Sub f1()
Dim f
Dim dig As Object
Set dig = Application.FileDialog(msoFileDialogOpen)
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = True
.Filters.Add “Excel文件”, “*.xls”, 1
.InitialFileName = ThisWorkbook.FullName '“d:”
.InitialView = msoFileDialogViewDetails
.Title = “对话框测试”
.Show
MsgBox .Show
For Each f In .SelectedItems
MsgBox f
Next f
End With
Set dig = Nothing
End Sub

'选择并返回文件夹
Sub F2()
Dim dig As Object
Set dig = Application.FileDialog(msoFileDialogFolderPicker)
With dig
.InitialFileName = “d:”
.Show
MsgBox .SelectedItems(1)
End With
Set dig = Nothing
End Sub

发布了47 篇原创文章 · 获赞 0 · 访问量 212

猜你喜欢

转载自blog.csdn.net/tiansdk320/article/details/104365556