Loop through all Word Files in Directory

后端 未结 3 771
时光说笑
时光说笑 2021-01-01 01:08

I have the following code:

Sub WordtoTxtwLB()
\'
\' WordtoTxtwLB Macro
\'
\'
Dim fileName As String
myFileName = ActiveDocument.Name

ActiveDocument.SaveAs2          


        
3条回答
  •  慢半拍i
    慢半拍i (楼主)
    2021-01-01 02:05

    You don't actually need the WordtoTxtwLB Macro. You can combine both the codes. see this example

    (UNTESTED)

    Sub LoopDirectory()
        Dim vDirectory As String
        Dim oDoc As Document
    
        vDirectory = "C:\programs2\test\"
    
        vFile = Dir(vDirectory & "*.*")
    
        Do While vFile <> ""
            Set oDoc = Documents.Open(fileName:=vDirectory & vFile)
    
            ActiveDocument.SaveAs2 fileName:="\\FILE\" & oDoc.Name & ".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
    
            oDoc.Close SaveChanges:=False
            vFile = Dir
        Loop
    End Sub
    

    BTW, are you sure you want to use the *.* wildcard? What if there are Autocad files in the folder? Also ActiveDocument.Name will give you the file name with the Extension.

提交回复
热议问题