TAB-файл TXT из Excel VBA / MACRO - PullRequest
       32

TAB-файл TXT из Excel VBA / MACRO

1 голос
/ 26 февраля 2010

Мне нужно сделать файл 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

Теперь я могу контролировать, какие ячейки вкладывать отдельно с помощью функции "Range" в моем коде ... как ... как мне указать разделитель табуляции"Const DELIMITER" вместо разделителя канала? Кроме того, кажется, что он добавляет разделитель перед первым значением (то есть с первой ячейки). Как мне сделать так, чтобы он начинался с первого после значения (но включить первое значение ячейки в текстовый файл?)

Ответы [ 2 ]

4 голосов
/ 26 февраля 2010

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

для вышеперечисленного, вы можете использовать vbTab

2 голосов
/ 26 февраля 2010

Кроме того, кажется, он добавляет разделитель до первого значения (то есть от первая ячейка) как мне сделать это, чтобы начать из после первого значения (но включить первое значение ячейки в текстовый файл?)

Эта строка кода:

sOut = sOut & DELIMITER & myfield.txt

добавляет разделитель первым, потому что в первый раз в вашем цикле sOut = "". Измените этот код на:

sOut = sOut & myfield.txt & DELIMITER

Затем, после завершения цикла, если вам не нужен дополнительный разделитель в конце, используйте операцию обрезки для его удаления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...