Interop.Word无法使用地图模板文档

时间:2018-03-05 11:36:14

标签: c# ms-word office-interop

我已经创建了一个应用程序,它可以查看单词模板并相应地填充模板中的书签。目前,这一切都正常,我的开发环境没有任何问题。我现在尝试将我的应用程序移动到共享驱动器,并且在尝试找到当前位于共享驱动器上的某个单词模板时出错。

 <?php
  $string="Welcome to CodeNair";
  // explode('separator',$string)
  $array=explode(' ',$string);
 print_r($array);
 //Output : Array ( [0] => Welcome [1] => to [2] => CodeNair )
 ?>

我在wordDoc = wordApp ...

时收到错误
  

未处理的类型异常   &#39; System.Runtime.InteropServices.COMException&#39;发生在   SOWBuilder.exe补充信息:对不起,我们无法找到您的   文件。是移动,重命名还是删除?

映射的驱动器是一个典型的文件夹没有有趣的字符,没有空格,我认为这是权限,但即使我以管理员身份运行应用程序,它也会给我这个错误

完全例外

 Object oMissing = System.Reflection.Missing.Value;
        Object oTemplatePath = null;

        if (Variables.Training)
        {
            oTemplatePath =ConfigurationManager.AppSettings["Training"];
        }
        else if(Variables.Services)
        {
            oTemplatePath = ConfigurationManager.AppSettings["Services"];
        }
        else
        {
             oTemplatePath = ConfigurationManager.AppSettings["DefaultPath"];
        }

        Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();
        wordApp.Visible = true;

        Document wordDoc = new Document();

        wordDoc = wordApp.Documents.Add(ref oTemplatePath, ref oMissing, ref oMissing, ref oMissing);

1 个答案:

答案 0 :(得分:0)

在我的场景中,我使用了Microsoft Word中的路径来查找转到File时所给出的模板 - &gt;信息 - &gt;复制链接到剪贴板。如果文件名中包含空格,则使用此链接不起作用,因为空格包含&#39;%20&#39;。删除&#39;%20&#39;解决了我的问题。感谢您的回复