Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.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/5/excel/27.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#中的HRESULT:0x80010001(RPC_E_调用被拒绝)异常)?_C#_Excel_Interop_Comexception - Fatal编程技术网

如何解决异常:被调用方拒绝了调用。(C#中的HRESULT:0x80010001(RPC_E_调用被拒绝)异常)?

如何解决异常:被调用方拒绝了调用。(C#中的HRESULT:0x80010001(RPC_E_调用被拒绝)异常)?,c#,excel,interop,comexception,C#,Excel,Interop,Comexception,我在控制台应用程序中编写了一个C#代码,用于打开两个excel,并将数据从一个excel复制粘贴到另一个excel。在目标excel的可见性为真之前,它一直工作正常。但我需要在执行时隐藏excel。因此我将可见性更改为false。像 _destExcelApp = new Excel.ApplicationClass(); _destExcelApp.Visible = false; 现在它显示了一个异常,比如 呼叫被被叫方拒绝。(来自HRESULT的异常:0x80010001(RPC

我在控制台应用程序中编写了一个C#代码,用于打开两个excel,并将数据从一个excel复制粘贴到另一个excel。在目标excel的可见性为真之前,它一直工作正常。但我需要在执行时隐藏excel。因此我将可见性更改为false。像

  _destExcelApp = new Excel.ApplicationClass();
  _destExcelApp.Visible = false;
现在它显示了一个异常,比如

呼叫被被叫方拒绝。(来自HRESULT的异常:0x80010001(RPC_E_调用被拒绝))


如何解决这个问题?

您是将一系列信息从一个文档复制到另一个文档,还是在两个文档之间来回复制一个单元格一个单元格?Excel是单线程的,所以如果您来回移动,可能会导致此问题

当我将应用程序部署到一台没有完全激活和许可安装Excel的机器上时,我遇到了同样的错误。我花了几个小时试图诊断这个问题。请确保检查Office安装以确保其完整。

我在Word中遇到此问题,我的解决方案是卸载OpenOffice。我不确定是否有其他解决方案,但很可能与DLL有关,并且与以编程方式生成的特定文件的默认文件处理程序冲突

我也面临着同样的错误,许多建议的解决方案对我不起作用。 我有一个在Windows8中运行的应用程序,我发现问题是Excel总是要求为“xlsx”扩展选择默认应用程序。 执行应用程序时,没有出现窗口对话框,只显示错误


我解决了转到“控制面板>程序>默认程序”并将Microsoft Office Excel 2016设置为xlsx文件的默认程序的问题。

确保MS Word/Excel没有显示需要响应的对话框。

我在导致故障的行上设置了一个断点,然后在PowerShell中将
.Visible
设置为true,以查找以下内容:

$word.Visible = $true


在我单击“是”并更新设置之后,在我重新运行脚本化的COM交互之后,它们成功了。

我今天在Excel 2016中遇到了这个错误

我们发现出现此问题的计算机激活了一些加载项

奇怪的是,一台电脑花了很长时间才启动excel。停用外接程序后,我们的程序运行良好


奇怪的是,我们无法在我们的开发pc上重现这个问题。

在我的机器上遇到了这个问题。Excel已完全激活,并且已经是.xlsx文件的默认程序。我正在加载用透视表创建的工作簿模板,并让脚本更新表中的数据。结果表明,如果在pivot Table Options>data下将pivot表设置为“打开文件时刷新数据”,则会导致某种线程争用问题。

打开时禁用刷新解决了此问题。

我通过以下问题解决了此问题:

问题很简单,当我发出
工作表.SaveAs
命令时,
工作簿.Open
尚未完成。所以有时候,脚本会起作用,有时候不会

我只是在
工作簿之后的脚本中添加了一个暂停。打开
它就成功了。我接着找到了一个属性
Ready
,它允许我完全按照自己的意愿进行操作:

    $excel = New-Object -ComObject "Excel.Application" -ea Stop
    $wb = $excel.Workbooks.Open($workbook)
    $sheet = $wb.Sheets("List")
    while (-not $excel.Ready) {
        sleep 1
    }
    $sheet.SaveAs($csvpath,6)

因此,在我的例子中,它与未激活或损坏的Excel安装无关。

在我的例子中,我只是重新启动了我的计算机,发现有一个windows更新挂起。重新启动机器解决了我的问题。

我同意那些说必须激活excel许可证的说法,我也有同样的问题,我激活了许可证,一切正常-Papiki

除了上面的解决方案之外,我还可以提供另一个需要注意的问题,这些解决方案似乎与此评论一致(根据Alielson Piffer的回答),


SUMMARY:因此,通过这里的答案,我们可以得出结论,当Excel在弹出窗口中显示任何消息时,例如“此软件未激活”或“是否希望Excel成为DOCX文件的默认应用程序?”可能会发生此错误Elmue Jun 12'17 22:43

任务管理器中没有打开的消息框或提示,但有一个未结束的进程(在我的例子中是Word.exe),我需要结束该进程。这就解决了问题


这可以解释为什么重启可以帮助其他用户

确保您检查了您的办公室安装,以确保它们是完整的

否则,请尝试以下操作

尝试应用程序可视性错误 在写入所有数据之后 打开“可见性” 前任 dimwapp作为新的excel.Application .... . . wapp.Visible=false

“你写什么 .. . . .

'然后打开您的可见性


wapp.Visible=True我也有同样的问题。我在“WindowsXPx86”上运行了这个程序,它也因为一个类似的错误而崩溃。问题在于:

sheetSource.Cells(i, iColumn).Interior.Color = RGB(255, 255, 0)

多次执行该行导致崩溃。当我立即删除它时,一切都开始正常工作。

您是否尝试过:
…=新的Excel.Application()?您是否在使用
。激活
。在任何地方选择
?哪一行显示错误?我需要ApplicationClass在目标excel中运行宏。应用程序类和应用程序是一样的吗?不,我没有使用任何这样的东西。。获取excel中的所有工作表时出错,即excelSheets=\u destExcelWorkbook.worksheets;因此,您建议引发异常是因为未激活和未授权的Excel,激活它可以解决该问题。听起来很奇怪。顺便说一句,欢迎来到。@bleetingfingers,是的。我遇到了这样一种情况:抛出了此异常,而我的应用程序的另一个函数抛出了一个与“简化功能模式”相关的单独错误。重新安装和激活Excel解决了这两个问题。我也遇到了同样的问题