如何快速制作多个txt文件?文件名和对应文本都写在Excel表格里,如图,每一行为一个txt文件

图中只是个例子,实际上我需要制作几千个这样的txt文件

A列txt的文件名,B列为内容

C2="echo "&B2&">"&A2&".txt"
下拉
新建记事本文件,复制C列内容进去,将记事本的后缀“.txt”改为“.bat”,变成可批处理文件。将此批处理文件放到要生成的TXT文件同目录下,双击执行,即可。

说明:命令会将B1内容增加到A1.txt文件内,如没有这个文件,就会创建一个。追问

解决了,非常感谢!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-13

假设这个工作簿文件名是Book1.xlsm,可以点击开发 》 宏, 用下面的VBA:

Sub CreateTxt()
    Dim xlsFile As String
    xlsFileName = "Book1.xlsm"
    xlsSheetName = "Sheet1"
    Dim wsh As Worksheet
    Set wsh = Workbooks(xlsFileName).Worksheets(xlsSheetName)
    Dim xlsPath As String
    xlsPath = Workbooks(xlsFileName).Path
    Dim arr() As Variant
    Dim nLines As Long
    nLines = wsh.Range("A1000").End(xlUp).Row
    arr = wsh.Range("A1:B" & nLines)
    Dim dic As Object
    Dim key As Variant
    Set dic = CreateObject("Scripting.Dictionary")
    Dim i As Long
    With dic
    For i = 1 To UBound(arr, 1)
        If .Exists(arr(i, 1)) Then
            .Item(arr(i, 1)) = .Item(arr(i, 1)) & "|" & arr(i, 2)
        Else
            .Add arr(i, 1), arr(i, 2)
        End If
    Next
    End With
    
    Dim fso, f
    Set fso = CreateObject("Scripting.FileSystemObject")
    For Each key In dic
        'Debug.Print key; "?? "; dic(key)
        Set f = fso.OpenTextFile(xlsPath & "\" & key & ".txt", 2, True)
        f.Write dic(key)
        f.Close
    Next
End Sub

其中下面两行里加粗斜体的部分请根据你的实际表格做更改:
xlsFileName = "Book1.xlsm
nLines = wsh.Range("A1000").End(xlUp).Row

TXT文件生成的位置是你原Excel表格所在位置。

相似回答