【发布时间】:2022-01-07 16:24:16
【问题描述】:
我有以下代码:
Sub WordtoTxtwLB()
'
' WordtoTxtwLB Macro
'
'
Dim fileName As String
myFileName = ActiveDocument.Name
ActiveDocument.SaveAs2 fileName:= _
"\\FILE\" & myFileName & ".txt", FileFormat:= _
wdFormatText, LockComments:=False, Password:="", AddToRecentFiles:=True, _
WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
False, Encoding:=1252, InsertLineBreaks:=True, AllowSubstitutions:=False, _
LineEnding:=wdCRLF, CompatibilityMode:=0
End Sub
我想通过一个目录中的所有单词 (.doc) 文件循环这个 sub。我有以下代码:
Sub LoopDirectory()
vDirectory = "C:\programs2\test"
vFile = Dir(vDirectory & "\" & "*.*")
Do While vFile <> ""
Documents.Open fileName:=vDirectory & "\" & vFile
ActiveDocument.WordtoTxtwLB
vFile = Dir
Loop
End Sub
但它不起作用。如何通过更改当前代码或使用新代码来使其正常工作?
【问题讨论】:
-
WordtoTxtwLB不是 ActiveDocument 的方法,所以直接使用方法名即可。更好的是,调整您的方法以采用“文档”类型的参数并将打开的文档直接传递给它。