Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Windows XP上运行Interop v15的Office Interop异常_C#_.net_Vb.net_Winforms - Fatal编程技术网

C# 在Windows XP上运行Interop v15的Office Interop异常

C# 在Windows XP上运行Interop v15的Office Interop异常,c#,.net,vb.net,winforms,C#,.net,Vb.net,Winforms,我正在使用Office.Interop v15运行一个将参数传递给的.exe。它在装有Office 2013的windows 7开发机器上运行良好。当我移动到运行WindowsXP和Office2010的虚拟机时,我会收到一个运行时错误 System.Runtime.InteropServices.COMException(0x80020005):类型不匹配。(HRESULT的异常:0x80020005(显示类型不匹配)) 是因为interop v15不支持较低版本的office吗 发生错误的代

我正在使用Office.Interop v15运行一个将参数传递给的.exe。它在装有Office 2013的windows 7开发机器上运行良好。当我移动到运行WindowsXP和Office2010的虚拟机时,我会收到一个运行时错误

System.Runtime.InteropServices.COMException(0x80020005):类型不匹配。(HRESULT的异常:0x80020005(显示类型不匹配))

是因为interop v15不支持较低版本的office吗

发生错误的代码段

doc = app.Documents.Open(fileToPrint) /happens here
doc.PrintOut(False)
doc.Close()
app.Quit()
奇怪的是,它会运行,但只是有一个运行时错误。

试试这个

替换此代码:

doc = app.Documents.Open(fileToPrint) /happens here
使用此选项(在VB.NET中)

或者用这个(C#)


为什么要将其标记为ASP.NET?听起来像是64位对32位的错误。我高度怀疑v15不受支持,或者已经发生了足够的更改,无法在支持XP的office版本上正常工作。到目前为止,Microsoft已经成功地使office Automation对象模型在15年多的时间里没有受到严重破坏。令人难以置信的成就。但是是的,版本15的接缝处开始出现裂缝。我怀疑“斯巴达计划”很快也会出现在办公室里。如果不显示代码,您将无法获得帮助。下面是发布更好问题的提示:如果错误发生在第一行,那么我们不需要第二行(或第三行,或第四行…)
Dim s_missing As Object = System.Reflection.Missing.Value
doc = app.Documents.Open (fileToPrint, s_missing, s_missing, s_missing, s_missing,s_missing, s_missing, s_missing, s_missing, s_missing, s_missing, s_missing, s_missing, s_missing, s_missing, s_missing)
static object s_missing = System.Reflection.Missing.Value;
doc = app.Documents.Open ( ref fileToPrint,
   ref s_missing,
   ref s_missing,
   ref s_missing,
   ref s_missing,
   ref s_missing,
   ref s_missing,
   ref s_missing,
   ref s_missing,
   ref s_missing,
   ref s_missing,
   ref s_missing,
   ref s_missing,
   ref s_missing,
   ref s_missing,
   ref s_missing );