我最近安装了visio 2010.它有VBA 7.0。
我正在尝试编写代码来打开文件对话框,选择一个excel文件并打开它。 我用过这段代码
Set fd = Application.FileDialog(msoFileDialogFilePicker)
但是我收到以下错误:
运行时错误'': 对象不支持此属性或方法
我已经将Microsoft Office 14. Object Library
作为参考。
答案 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
函数)。此处解释了此选项,例如: