Сохранить в TXT из Эксель

Андрей Викторов

Топикстартер
15 лет на форуме
Сообщения
1 275
Реакции
292
Коллеги, пытаюсь победить такую задачу:
необходимо выделенный диапазон листа Эксель сохранить в TXT.
и прямое копирование и другие методы записывают разделяя столбцы табуляторами значения
а строки пустыми строками, вернее строки с кучей пробелов.
А хотелось бы вместо табуляторов пробелы
а пустых строк чтоб вообще не было
+ в конце строк, которые короче остальных, также лишние табуляторы.
Это только скриптом как-то можно?
 
Поиском с заменой. Найти: ^w; заменить на пробел
 
  • Спасибо
Реакции: NNN5
Выбрать "сохранить в csv", а там назначить разделителями, что душе угодно.
 
Для выделенного диапазона
Код:
Sub TextFile()
    Dim TextRange() As Variant
    Dim Text As String
    TextRange = Selection
    Path = "D:\testfile.txt"
    'Set fs = CreateObject("Scripting.FileSystemObject")
    'Set TextFile = fs.CreateTextFile("D:\testfile.txt", True)
    FileNumber = FreeFile
    Open Path For Output As FileNumber
    For i = 1 To UBound(TextRange, 1)
        For k = 1 To UBound(TextRange, 2)
            If k = 1 Then
                Text = TextRange(i, k)
            Else
                If TextRange(i, k) <> "" Then Text = Text & " " & TextRange(i, k)
            End If
        Next k
        If Len(Text) > 0 Then Print #FileNumber, Text
    Next i
    Close FileNumber
    Shell "notepad.exe " & Path, vbNormalFocus
End Sub
 
Что тебя так удивило?
 
Ещё можно из скрипта звонить сисадмину на моб. и пищать морзой. :))
 
Это, вообще то, макрос 'fp'
звонить сисадмину на моб. и пищать морзой.
При желании можно и за джойстик подержаться, но в данный момент это вполне себе нормальный способ текстовый файл визуализировать, я постоянно из сишных программ такое делаю и не вижу никакого ахтунга