我在控制台应用程序中编写了一个C#代码,用于打开两个excel,并将数据从一个excel复制并粘贴到另一个excel。它工作正常,直到目标excel的可见性为真。但是我需要在执行时隐藏excel。所以我将可见性改为false。像,
_destExcelApp = new Excel.ApplicationClass();
_destExcelApp.Visible = false;
现在它显示了像
这样的异常来电被拒绝了。 (来自HRESULT的异常:0x80010001(RPC_E_CALL_REJECTED))
如何解决这个问题?
答案 0 :(得分:18)
当我将应用程序部署到没有完全激活和许可的Excel安装的计算机上时,我遇到了同样的错误。我花了好几个小时试图诊断问题。确保检查Office安装以确保它们完整。
答案 1 :(得分:5)
我遇到了同样的错误,许多建议的解决方案对我不起作用。 我有一个在Windows 8中运行的应用程序,我发现问题是Excel总是要求为“xlsx”扩展选择默认应用程序。 执行应用程序时,没有出现窗口对话框,只显示错误。
我解决了问题转到控制面板>节目>默认程序并将Microsoft Office Excel 2016设置为xlsx文件的默认程序。
答案 2 :(得分:4)
确保MS Word / Excel未显示需要回复的对话框。
我在导致失败的行上设置断点,然后在PowerShell中将.Visible
设置为true,以找到:
$word.Visible = $true
点击“是”'并且更新了设置,在我重新运行脚本化的COM交互之后,他们成功了。
答案 3 :(得分:3)
我用Word遇到了这个问题,我的解决方案是卸载OpenOffice。我不确定是否有另一种解决方案,但很可能与dll有关,并且与您以编程方式生成的特定文件的默认文件处理程序发生冲突。
答案 4 :(得分:2)
我同意必须激活excel许可证的问题,我遇到了同样的问题,并且激活了许可证,一切正常-Papiki
答案 5 :(得分:1)
您是在将一系列信息从一个文档复制到另一个文档,还是在两个文件之间来回移动? Excel是单线程的,所以如果你来回走动,可能会导致这个问题。
答案 6 :(得分:1)
我今天在Excel 2016中遇到此错误。
我们发现有这个问题的计算机激活了一些加载项。
奇怪的是,一台电脑需要很长时间才能开始使用excel。停用加载项后,我们的程序运行正常。
奇怪的是,我们无法在开发电脑上重现这一点。
答案 7 :(得分:1)
我借助以下问题解决了此问题:
Strange behaviour of "Call was rejected by callee." exception with Excel
问题很简单,当我发出Workbook.Open
命令时Worksheet.SaveAs
尚未完成。所以有时候,脚本会起作用,有时候却不会。
我只是在Workbook.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安装无关。
答案 8 :(得分:1)
我也有同样的问题。我在“Windows XP x86”上运行该程序,但它因类似错误而崩溃。问题出在这一行:
sheetSource.Cells(i, iColumn).Interior.Color = RGB(255, 255, 0)
多次执行此行导致崩溃。当我立即删除它时,一切都开始正常工作。
答案 9 :(得分:0)
在我的机器上遇到此问题。 Excel已完全激活,并且已经是.xlsx文件的默认程序。我正在加载使用数据透视表创建的工作簿模板,并使用脚本来更新表中的数据。原来,如果将数据透视表设置为“数据透视表选项”>“数据”下的“打开文件时刷新数据”,则会引起某种线程争用问题。
禁用打开后刷新即可解决问题。
答案 10 :(得分:0)
就我而言,我只是重新启动了计算机,发现有一个Windows更新待处理。重新启动机器解决了我的问题。
答案 11 :(得分:0)
除了上述解决方案之外,我还可以提供另一件值得关注的解决方案,这些解决方案似乎都集中在此评论上(由Alielson Piffer回答),
SUMMARY: So by the answers here we could conclude that this error may occur when Excel is showing any message in a popup window like for example "This software is not activated" or "Do you want Excel to be the default application for DOCX files?". – Elmue Jun 12 '17 at 22:43
没有打开的消息框或提示,但是任务管理器中有一个需要结束的无休止进程(在我的情况下为Word.exe)。这样就解决了。
这可以解释为什么重新启动可以帮助另一个用户。
答案 12 :(得分:0)
确保您检查Office安装以确保它们已完成。
否则请尝试
尝试App可见性为false 写完所有数据之后 打开可见性 前 昏暗的wapp作为新的excel.Application .... 。 。 wapp.Visible = false
做你的写作 .. 。 。 。
'然后打开可见性
wapp.Visible = True