办公自动化空引用异常(仅在某些安装)

问题描述:

我一直在使用办公自动化有一段时间了,为了使用下面的代码数据合并到一个Word文档:办公自动化空引用异常(仅在某些安装)

  oWord = new Microsoft.Office.Interop.Word.Application(); 
      oWord.Visible = false; 
      oDoc = oWord.Documents.Open(
      ref oTemplate, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, 
         ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); 

我从未有过过去的代码存在问题,并且所有客户端都具有相同的引用dll(办公室互操作的第12版)。然而,前几天我注意到,有些客户是在最后一行

oWord.Documents.Open 

完全相同的代码发出空对象引用异常和DLL似乎一些客户的工作,但别人撞车。其他人有没有同样的问题?

我试图卸载该问题的一台计算机所有的.NET版本,并重新安装只有我最初使用(.NET 2.0SP1),但这并没有解决问题的版本。这可能是与有问题的客户端的办公室安装/更新有关吗?

PS:我甚至尝试没有成功安装客户端上的VSTOR(办公自动化视觉工作室组件)。

+0

什么是'缺少'? –

+0

@ColeJohnson一些可选参考 [链接](http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.documents.open(v = office.11​​).aspx) – Themos

+0

那么这就是你最可能遇到的问题:遗漏为空,并在可选时传递它只是要求麻烦。看来,功能试图取消引用空 –

我经历过类似的事情,即使安装VSTOR错误出现...我可以使它在所有机器上工作拿起互操作DLL的办公室的唯一途径,包括我的项目的根目录为“内容”并标记为“复制”。此外还将“复制本地”评为虚假引用。尝试并确保解决您的问题。

+0

感谢您的建议,我会研究它!我想尝试的另一件事是使用在所有客户端的安装,应固定在2007 + 2010 Office安装的问题,2010年互操作的dll,但我不知道这将如何影响2003年的... – Themos

+0

注意一个细节:Interop dll的Office根据版本不同,包括影响项目中的参考。示例:如果您在2007年实现了dll版本,则无法在具有不同版本的计算机上正常运行。 –