使用application.filedialog打开文件VBA7.0时遇到错误

时间:2015-08-04 13:50:29

标签: excel vba visio openfiledialog

我最近安装了visio 2010.它有VBA 7.0。

我正在尝试编写代码来打开文件对话框,选择一个excel文件并打开它。 我用过这段代码

Set fd = Application.FileDialog(msoFileDialogFilePicker)

但是我收到以下错误:

  

运行时错误'':   对象不支持此属性或方法

我已经将Microsoft Office 14. Object Library作为参考。

你知道吗?我应该怎么做?

2 个答案:

答案 0 :(得分:0)

如果您在Visio中使用此代码

Set fd = Application.FileDialog(msoFileDialogFilePicker)

单词Application指的是Visio,正如您在对象浏览器中看到的那样,Visio.Application类没有FileDialog这样的方法。 Access和Excel应用程序拥有它,但不支持Visio。

要在Visio中使用它,您需要添加对 Microsoft Excel对象库 Microsoft Access对象库的引用即可。然后,您需要使用以下代码创建FileDialog的实例(根据您添加到项目中的引用选择正确的版本 - Excel或Access)

'If you have reference to Microsoft Excel Object Library
Set fd = Excel.Application.FileDialog(msoFileDialogFilePicker) 

'If you have reference to Microsoft Access Object Library
Set fd = Access.Application.FileDialog(msoFileDialogFilePicker) 

答案 1 :(得分:0)

像@mielk解释的那样,Visio没有Application.FileDialog。您可以使用Excel的方法(在这种情况下,您必须安装Excel,并开始调用其方法)或使用VBA中的纯WinAPI(即GetOpenFileName函数)。此处解释了此选项,例如:

http://visguy.com/vgforum/index.php?topic=738.0