You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel转TXT文件VBA代码修改:添加指定头部与首行$前缀

修改VBA代码实现指定文本格式输出

没问题,我帮你调整VBA代码来实现你需要的文本格式,包括添加指定的开头两行,以及给第一行数据加上$前缀。

修改后的完整代码

Sub ExceltoText()
    Dim FileName, sLine, Deliminator, x, y, z As String
    Dim LastCol, LastRow, FileNumber, i, j As Integer
    
    FileName = "C:\Users\Administrateur\Desktop\App vba\ExcToTxt.txt"
    Deliminator = "|"
    x = "$|0|Les Données de SALARIES"
    y = "=|0|Les Données de SALARIES"
    z = "=|1|SALARIES|"
    
    LastCol = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Column
    LastRow = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
    
    FileNumber = FreeFile
    Open FileName For Output As FileNumber
    
    ' 先写入要求的开头两行
    Print #FileNumber, x
    Print #FileNumber, y
    
    For i = 1 To LastRow
        sLine = "" ' 每次循环前清空sLine,避免残留上一行内容
        For j = 1 To LastCol
            If j = LastCol Then
                sLine = sLine & Cells(i, j).Value
            Else
                sLine = sLine & Cells(i, j).Value & Deliminator
            End If
        Next j
        
        ' 根据行号添加对应前缀,保证第一行带$
        If i = 1 Then
            Print #FileNumber, "$" & z & sLine & "|"
        Else
            Print #FileNumber, z & sLine & "|"
        End If
    Next i
    
    Close #FileNumber
    MsgBox "File generated"
End Sub

主要修改点说明

  • 添加开头两行:在打开文件后,直接用Print语句写入你指定的x和y两行内容,满足文件开头的格式要求。
  • 修复第一行前缀逻辑:原代码里强制i=2会破坏循环逻辑,现在改成判断行号,给第一行数据添加$前缀,其他行保持原有格式。
  • 优化内容初始化:把sLine = ""放到外层循环开头,确保每行数据都是全新拼接的,避免残留上一行的内容。
  • 统一末尾格式:确保每行末尾都带有|,和你期望的输出格式完全匹配。

内容的提问来源于stack exchange,提问作者Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:46:57