【问题标题】:Word Interop 12: SaveAs new filename without dialogWord Interop 12:另存为没有对话框的新文件名
【发布时间】:2015-02-12 04:37:30
【问题描述】:

我正在编写一个 Windows 资源管理器扩展程序,它可以打开现有的 .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# office-interop


    【解决方案1】:

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

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

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

    【讨论】:

    • facepalm 我非常专注于让 SaveAs 工作,我没有想到明显的解决方案。谢谢! :)
    【解决方案2】:

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

    【讨论】:

    • SaveAs2() 不可用,只有 SaveAs() 和 SaveAsQuickStyleSet()。那是因为我使用的是较旧的互操作界面吗? (12)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多