实例需求:VBA开发的应用程序中,如何为用户提供文件选择对话框,选中PDF文档之后,使用默认程序打开PDF文件。
Sub OpenSelectedPDF()
Dim strFilePath As String
Dim objFileDialog As FileDialog
Set objFileDialog = Application.FileDialog(msoFileDialogFilePicker)
objFileDialog.Title = "Select PDF File"
objFileDialog.Filters.Clear
objFileDialog.Filters.Add "PDF Files", "*.pdf"
objFileDialog.AllowMultiSelect = False
If objFileDialog.Show Then
strFilePath = objFileDialog.SelectedItems(1)
Shell "explorer.exe """ & strFilePath & """", vbNormalFocus
Else
MsgBox "未选中任何文件!"
End If
Set objFileDialog = Nothing
End Sub
【代码解析】
第4行代码打开文件选择对话框。
第5行代码设置对话框标题。
第6行代码清空文件过滤器。
第7行代码添加PDF文件过滤规则。
第8行代码禁用选中多个文件。
第9行代码显示文件选择对话框。
第10行代码获取选中的文件全路径。
第11行代码调用Shell
命令打开PDF文件。
如果用户点击文件选择对话框的【取消】按钮,那么第13行代码显示提示信息。
第15行代码释放对象变量占用的系统资源。