标题: [求助]有没有办法用CREATEOBJECT实例化FILEDIALOG对象而不用引用“MS OFFICE 11.0 [打印本页] 作者: 老鬼 时间: 2007-7-2 05:45 标题: [求助]有没有办法用CREATEOBJECT实例化FILEDIALOG对象而不用引用“MS OFFICE 11.0 有没有办法用CREATEOBJECT实例化FILEDIALOG对象而不用引用“MS OFFICE 11.0 OBJECT LIBRARY”?作者: Grant 时间: 2007-7-2 08:13
原作者: fan0217
打开对话框,一般都采用控件或调用API函数,此函数虽然采用的Microsoft Office 11.0 Object Library,但没有使用常量名称做参数,所以不需要引用Microsoft Office 11.0 Object Library。
Function GetFileName(ByVal DialogType As Integer) As String
'参数DialogType说明:
'1.“打开”对话框
'3.“文件选取器”对话框
'4.“文件夹选取器”对话框
'不对dlgOpen进行声明的原因是:不需要引用Microsoft Office 11.0 Object Library
Set dlgOpen = Application.FileDialog(DialogType)
With dlgOpen
.AllowMultiSelect = False
.Show
End With
If dlgOpen.SelectedItems.Count > 0 Then
GetFileName = dlgOpen.SelectedItems(1)
Else
GetFileName = ""
End If
Set dlgOpen = Nothing
End Function
参数2为“另存为”对话框,采用上述返回值不太合适。打开另存为对话框函数:
Function FileSaveAs()
'不对dlgOpen进行声明的原因是:不需要引用Microsoft Office 11.0 Object Library
Set dlgOpen = Application.FileDialog(2)
With dlgOpen
.AllowMultiSelect = False
.Show
End With
Set dlgOpen = Nothing
End Function