【问题标题】:TAB separated txt file from Excel VBA/MACROTAB 从 Excel VBA/MACRO 分隔 txt 文件
【发布时间】:2014-05-31 06:09:16
【问题描述】:

我需要制作一个包含一些值的 excel 文件......到一个制表符分隔值文本文件中...... 解决方案 1 -我可以将其保存为制表符分隔的文本文件。但问题是它还保存了我不需要的列标题。不知道如何更改它!

解决方案 2--我有这个代码:

Public Sub CharacterSV()
    Const DELIMITER As String = " |"
    Dim myRecord As Range
    Dim myField As Range
    Dim nFileNum As Long
    Dim sOut As String

    nFileNum = FreeFile
    Open "Test.txt" For Output As #nFileNum
    For Each myRecord In Range("A2:A" & _
                Range("A" & Rows.Count).End(xlUp).Row)
        With myRecord
            For Each myField In Range(.Cells, _
                    Cells(.Row, Columns.Count).End(xlToLeft))
                sOut = sOut & DELIMITER & myField.Text
            Next myField
            Print #nFileNum, Mid(sOut, 2)
            sOut = Empty
        End With
    Next myRecord
    Close #nFileNum
End Sub

现在我可以在我的代码中使用“范围”功能控制哪些单元格要使用制表符分隔..但是..我如何指定制表符分隔符“Const DELIMITER”而不是管道分隔符?另外..它似乎在第一个值(即从第一个单元格)之前添加分隔符我如何使它从第一个值之后开始(但在txt文件中包含第一个单元格值?)

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    how do i specify the tab delimiter "Const DELIMITER " instead of the pipe separator?

    以上可以使用vbTab

    【讨论】:

    • 谢谢...!! WORKS..我如何添加完成的消息?
    • @andreas 如果您问如何将其标记为已接受的答案,则在向上和向下投票箭头下方的左侧有一个复选标记。
    【解决方案2】:

    另外..它似乎添加了分隔符 在第一个值之前(即从 第一个单元格)我如何让它开始 从第一个值之后(但 将第一个单元格值包含在 txt 文件?)

    这行代码:

    sOut = sOut & DELIMITER & myfield.txt
    

    首先添加分隔符,因为第一次通过您的循环,sOut = ""。将此代码更改为:

    sOut = sOut & myfield.txt & DELIMITER
    

    然后在你的循环结束后,如果你不想在末尾添加额外的分隔符,请使用修剪操作将其删除。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-23
      相关资源
      最近更新 更多