SaveAs 产生不兼容的文件类型和扩展名错误(运行时错误 6294)

SaveAs producing Incompatible filetype and extension errors (Runtime error 6294)

我有一个工具是我从网络上的其他地方修改的,可以与当前的 2021 MS Word Visual Basic for applications (v7.1) 一起使用。它基本上是一个用于 Word 文档的批量密码删除工具。

这段代码只是通过一个目录打开所有文件,假设它们有相同的密码,然后将它们保存到第二个目录并删除密码。

然而它在 SaveAs 行失败,

runtime error 6294.

Dim myFile As String
Dim PathToUse As String
Dim myDoc As Document
Dim strPassword As String

strPassword = "current_password"
PathToUse = "C:\source"
SavePath = "C:\destination\"

myFile = Dir$(PathToUse & "*.docx")
While myFile <> ""
    'Open document
    Set myDoc = Documents.Open(FileName:=PathToUse & myFile, PasswordDocument:=strPassword)
  
    myDoc.SaveAs SavePath & myFile, Password = ""
    myDoc.Close
    'Next file in folder
    myFile = Dir$()
Wend

请试试

myDoc.SaveAs FileName:=SavePath & myFile, Password:=""

SaveAs 方法需要参数。其中一些是Optional,但如果你需要一些,必须按照上面建议的方式使用。