使用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年