Word Interop 12:不带对话框的另存为新文件名

Word Interop 12: SaveAs new filename without dialog

我正在编写一个 Windows Explorer 扩展,它可以打开现有的 .docx 文件,编辑一些内容,然后将其保存到不同的路径和名称。它成功打开了文件,但是当它点击 document.SaveAs() 命令时,它只是打开带有原始文件名和路径的另存为对话框,而不是保存到新路径。

这是处理文档的代码部分。

var application = new Microsoft.Office.Interop.Word.Application();
application.Visible = true;

var document = application.Documents.Open(
    FileName: reviewRecordTemplatePath,
    AddToRecentFiles: false,
    Visible: true);

// Do stuff...

document.SaveAs(FileName: reviewRecordPath);

为什么不在打开文档之前创建一个副本?

例如,假设您要使用脚本修改 c:\docs\myfile.docx,并且您希望将修改后的版本保存为 c:\newdocs\newfile.docx.

在脚本中打开 Word 之前,执行 File.Move("c:\docs\myfile.docx", "c:\newdocs\newfile.docx");然后打开目标文件,进行更改,然后执行 document.Save();

尝试为文档 class 的 SaveAs2 方法指定文件名和文件格式。