import folder of .txt files into word document

我与影子孤独终老i 提交于 2020-02-23 04:09:52

问题


I've found a lot on importing folder of .txt files into excel, but not many on importing .txt files into word. I'm trying to get my macro to open all .txt files in a specific folder and import them into a single word document, with each .txt file having its own page. This is the code I have so far (that I found online):

Sub AllFilesInFolder()
    Dim myFolder As String, myFile As String
    myFolder = Application.FileDialog(msoFileDialogFolderPicker)
    With Application.FileDialog(msoFileDialogFolderPicker)
        .AllowMultiSelect = False
        .Show
        If .SelectedItems.Count > 0 Then
            myFolder = .SelectedItems(1)
        End If
    End With
    myFile = Dir(myFolder & "\*.txt") '
    Do While myFile <> ""
        Open myFolder & "\" & myFile For Input As #1
        'Copy & Paste Macro?
        myFile = Dir
    Loop
End Sub

回答1:


here is something to get you started

Word 2010

Edit this should allow you to open all txt files in one document and save it

Option Explicit
Sub AllFilesInFolder()
    Dim myFolder    As String
    Dim myFile      As String
    Dim wdDoc       As Document
    Dim txtFiles    As Document

    Application.ScreenUpdating = False

    myFolder = openFolder

    If myFolder = "" Then Exit Sub

    myFile = Dir(myFolder & "\*.txt", vbNormal)
    Set wdDoc = ActiveDocument

    While myFile <> ""
        Set txtFiles = Documents.Open(FileName:=myFolder & "\" & myFile, AddToRecentFiles:=False, Visible:=False, ConfirmConversions:=False)
        wdDoc.Range.InsertAfter txtFiles.Range.Text & vbCr
        txtFiles.Close SaveChanges:=True
    myFile = Dir()
    Wend

    Set txtFiles = Nothing
    Set wdDoc = Nothing

    Application.ScreenUpdating = True
End Sub     
Function openFolder() As String

    Dim oFolder     As Object

    openFolder = ""

    Set oFolder = CreateObject("Shell.Application").BrowseForFolder(0, "Choose a folder", 0)
        If (Not oFolder Is Nothing) Then openFolder = oFolder.Items.Item.Path

    Set oFolder = Nothing
End Function



回答2:


Copy all the text files into a single file using the Command Prompt (cmd.exe) and the following command:

copy *.txt NewFile.txt

Then open this file with word and modify the way you want to see the text.



来源:https://stackoverflow.com/questions/30493138/import-folder-of-txt-files-into-word-document

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!