2

我有一个应用程序,它打开一个 Visio 文件 .VSD 并将一些 jpeg 图像复制到 VSD 文件中。我正在使用 Visio 2013,它适用于这个版本,但我有另一台客户端机器,我只有这个应用程序的 exe(不是完整的代码库),并且在该客户端机器上有 Visio 2010。当我运行应用程序并选择 Visio .vsd 文件时,它会引发上述错误。

努力了解 exe、代码、版本或 dll 是否有问题?我可以知道什么可能是修复或一些解决方法吗?我打开抛出异常的 visio 应用程序的代码如下,

 Microsoft.Office.Interop.Visio.Application application = new Microsoft.Office.Interop.Visio.Application();
 application.Visible = true;

                                     Microsoft.Office.Interop.Visio.Document doc = null;
                 OpenFileDialog filedg = new OpenFileDialog();
                 filedg.Title = "Select VSD template file";
                 filedg.InitialDirectory = @"c:\";
                 filedg.Filter = "All files (*.*)|*.*|All files (*.*)|*.*";
                 filedg.FilterIndex = 2;
                 filedg.RestoreDirectory = true;
                 if (filedg.ShowDialog() == DialogResult.OK)
                 {
                     LogMessageToFile("Opening Visio template");
                     if(application == null)
                     {
                         LogMessageToFile("Visio application is NULL");
                         return;
                     }
                     LogMessageToFile("Filename" + filedg.FileName);
                     doc = application.Documents.Open(filedg.FileName);
4

1 回答 1

2

“它适用于这个版本,但我有另一台客户端机器,我只有这个应用程序的 exe” -

根据我的经验,如果这种情况只发生在几台计算机上,问题是您正在运行的 EXE没有足够的权限来使用 InterOp 或 Visio 本身。

尝试使用“以管理员身份运行”运行 EXE。

于 2017-04-27T04:51:54.497 回答