VBA脚本将.rtf文件的文件夹转换为.docx文件-两个小问题
我在Word 2013中使用VBA脚本(见下文)将.rtf文件文件夹转换为.docx文件。它大部分是有效的,但有两个小问题VBA脚本将.rtf文件的文件夹转换为.docx文件-两个小问题,vba,ms-word,Vba,Ms Word,我在Word 2013中使用VBA脚本(见下文)将.rtf文件文件夹转换为.docx文件。它大部分是有效的,但有两个小问题 Sub ConvertRtfToDocx() Set oWord = CreateObject("Word.Application") With Application.FileDialog(msoFileDialogFolderPicker) .Title = "Select folder..." .Show
Sub ConvertRtfToDocx()
Set oWord = CreateObject("Word.Application")
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Select folder..."
.Show
myFolder = .SelectedItems.Item(1)
End With
myWildCard = InputBox(prompt:="Enter wild card...")
myDocs = Dir(myFolder & "\" & myWildCard)
While myDocs <> ""
Debug.Print myDocs
Set oDoc = oWord.Documents.Open(myFolder & "\" & myDocs)
oDoc.SaveAs myFolder & "\" & Left(myDocs, Len(myDocs) - 4) & ".docx", _
wdFormatXMLDocument
myDocs = Dir()
Wend
oWord.Quit
End Sub
Sub ConvertRtfToDocx()
Set oWord = CreateObject("Word.Application")
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Select folder..."
.Show
myFolder = .SelectedItems.Item(1)
End With
myWildCard = InputBox(prompt:="Enter wild card...")
myDocs = Dir(myFolder & "\" & myWildCard)
While myDocs <> ""
Debug.Print myDocs
Set oDoc = oWord.Documents.Open(myFolder & "\" & myDocs)
oDoc.SaveAs myFolder & "\" & Left(myDocs, Len(myDocs) - 4) & ".docx", _
wdFormatXMLDocument
myDocs = Dir()
Wend
oWord.Quit
End Sub
子转换器rtftodocx()
Set oWord=CreateObject(“Word.Application”)
使用Application.FileDialog(msoFileDialogFolderPicker)
.Title=“选择文件夹…”
显示
myFolder=.SelectedItems.Item(1)
以
myWildCard=InputBox(提示:=“输入通配符…”)
myDocs=Dir(myFolder&“\”&myWildCard)
而myDocs“
调试。打印myDocs
设置oDoc=oWord.Documents.Open(myFolder&“\”&myDocs)
oDoc.SaveAs myFolder&“\”&Left(myDocs,Len(myDocs)-4)和“.docx”_
wdFormatXMLDocument
myDocs=Dir()
温德
奥沃德,退出
端接头
以下代码有效
Sub ConvertRtfToDocx()
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Select folder..."
.Show
myFolder = .SelectedItems.Item(1)
End With
myWildCard = InputBox(prompt:="Enter wild card...")
myDocs = Dir(myFolder & "\" & myWildCard)
While myDocs <> ""
Documents.Open FileName:=myFolder & "\" & myDocs, ConfirmConversions:=False
ActiveDocument.SaveAs2 FileName:=myFolder & "\" & Left(myDocs, Len(myDocs) - 4) & ".docx", _
FileFormat:=wdFormatDocumentDefault, _
CompatibilityMode:=wdCurrent
ActiveDocument.Close SaveChanges:=False
myDocs = Dir()
Wend
End Sub
子转换器rtftodocx()
使用Application.FileDialog(msoFileDialogFolderPicker)
.Title=“选择文件夹…”
显示
myFolder=.SelectedItems.Item(1)
以
myWildCard=InputBox(提示:=“输入通配符…”)
myDocs=Dir(myFolder&“\”&myWildCard)
而myDocs“
文档。打开文件名:=myFolder&“\”&myDocs,ConfirmConversions:=False
ActiveDocument.SaveAs2文件名:=myFolder&“\”&左(myDocs,Len(myDocs)-4)和“.docx”_
FileFormat:=wdFormatDocumentDefault_
相容性模式:=wdCurrent
ActiveDocument.Close SaveChanges:=False
myDocs=Dir()
温德
端接头
我做了一些重构(例如,使用ActiveDocument
而不是创建自己的对象),但真正的改变是
ConfirmConversions:=False
SaveAs2
方法并设置FileFormat:=wdFormatDocumentDefault
和CompatibilityMode:=wdCurrent
我想这两个都可以设置为默认值(我被Office选项弄得不知所措,只保留默认值)。您从哪个应用程序运行此代码?您使用的是哪个版本的Office?我在2010年测试了它,没有你提到的任何问题…@KazJaw我使用Word 2013。.rtf文件是由一些基于Java的程序生成的,这有什么关系吗?我不认为这是因为.rtf文件不是用Word生成的。我在Word中创建了一个简单的.rtf文件,并且遇到了相同的两个问题。因此,我无法重现您的错误,因此我对第1点有简单的建议-尝试在开始时添加
Application.DisplayAllerts=False
,最后将其设置回True
。或者试试这种方法,oWord.DisplayAllerts=False
等等…@KazJaw都不起作用。两种症状都持续存在。