首页 > 解决方案 > 如何在没有对话框的情况下以 2 种不同的格式自动保存

问题描述

我在 c:\sample 文件夹中有一个巨大的文档 (.doc)。我想在更改字体后将它们保存在 .docx、.pdf、.txt 到 c:\sample_converted 文件夹中。

我有 VBA 脚本来更改字体,它工作正常..但是卡在以不同格式保存它们以及没有保存对话框

我想在没有用户干预的情况下完全进行这种转换。如果不可能,至少可以为源和目标文件夹请求一次用户。

    strName = Left(oDoc.FullName, InStrRev(oDoc.FullName, ".") - 1) & ".txt"
    oDoc.Range.Font.Name = strFont
    oDoc.Save
    oDoc.SaveAs2 FileName:=strName, FileFormat:=wdFormatUnicodeText
    strName = Left(oDoc.FullName, InStrRev(oDoc.FullName, ".") - 1) & ".docx"
    oDoc.Save
    oDoc.SaveAs2 FileName:=strName, FileFormat:=wdFormatXMLDocument
    oDoc.Close SaveChanges:=wdDoNotSaveChanges
    WordBasic.DisableAutoMacros 0

请告知如何执行此操作。

谢谢。

标签: vba

解决方案


SaveAs2 不适用于 Word 2007。对于 2007 和以前的更改行

oDoc.SaveAs2 文件名:=strName,文件格式:=wdFormatUnicodeText,编码:=65001

oDoc.SaveAs 文件名:=strName,文件格式:=wdFormatUnicodeText,编码:=65001

<=2007 是另存为,>2007 是另存为 2

现在它运作良好。


推荐阅读