如何解决异常:"Call was rejected by callee. Exception from HRESULT: 0x80010001 (RPC_E_CALL_REJECTED))"?



使用Microsoft.Office.Interop.Word命名空间。

Document.SaveAs2方法不接受作为第一个参数给定的路径。


if (saveFileDialog_Docx.ShowDialog() != DialogResult.Cancel)
{
string originalPath = Directory.GetCurrentDirectory();
string dirpath = Path.Combine(originalPath, saveFileDialog_Docx.FileName);
//lbl_test.Text = dirpath;
document.SaveAs2(@""+ dirpath, 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, ref missing);
}

无论我使用dirpath还是@"" + dirpath作为第一个参数,路径都不被接受,并引发以下异常:

异常:被调用者拒绝了调用。HRESULT:0x80010001(RPC_E_CALL_REJECTED(出现异常

我想从savefiledialog获取路径。

方法SaveAs2的文档显示签名为:

public void SaveAs2 (
ref object FileName,
ref object FileFormat,
ref object LockComments,
[...]
ref object CompatibilityMode);

结果表明,FileName是一个ref参数。因此,您只需要在您的论点之前添加ref,就像您为其他论点所做的那样。无需在dirpath变量之前添加@""

您的代码应该是:

document.SaveAs2(ref dirpath, ref missing, [...] ref missing);

请参阅https://learn.microsoft.com/fr-fr/dotnet/api/microsoft.office.tools.word.document.saveas2?view=vsto-2017年

相关内容

  • 没有找到相关文章

最新更新