Vba 如何在没有对话框的情况下以2种不同格式自动保存

Vba 如何在没有对话框的情况下以2种不同格式自动保存,vba,Vba,我在c:\sample文件夹中有一个巨大的文档(.doc)。更改字体后,我想将它们保存在.docx、.pdf、.txt的c:\sample\u转换文件夹中 我有VBA脚本来更改字体,它工作得很好。但是我被困在以不同的格式保存它们,并且没有保存对话框 我想完全在没有用户干预的情况下进行转换。如果不可能,至少可以请求一次用户访问源文件夹和目标文件夹 strName = Left(oDoc.FullName, InStrRev(oDoc.FullName, ".") - 1) & ".

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

我有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
请告诉我怎么做


谢谢。

SaveAs2不适用于Word 2007。2007年及以前的更改行

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

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

2007是SaveAs2


现在它工作正常。

保存前请尝试
Application.DisplayAlerts=False
。是否为每个保存行指定了文件类型?您的代码在哪里?@brax添加了代码供您参考
code
SaveAs2不适用于Word 2007。对于2007年和以前的版本,将行oDoc.SaveAs2 FileName:=strName,FileFormat:=wdFormatUnicodeText,Encoding:=65001更改为oDoc.SaveAs FileName:=strName,FileFormat:=wdFormatUnicodeText,Encoding:=65001 2007为SaveAs