Сохранить excel в txt макрос

 

Margo101

Пользователь

Сообщений: 11
Регистрация: 18.03.2013

Всем привет.
Не могли бы Вы подсказать пример макроса для экспорта в текстовый файл?
Нашла в интернете пример того что надо, но немного не понятен принцип работы макроса…не хватает знаний его исправить..

Имею файл эксель, необходимо чтобы 2я строка экспортировалась в файл, файл в той же папке, с названием к примеру ResultExcel.txt чтобы данные из каждой ячейки были на новой строке:
11
22
33
44
и т.д…

Помогите пож-та..

 

Hugo

Пользователь

Сообщений: 23257
Регистрация: 22.12.2012

 

Johny

Пользователь

Сообщений: 2737
Регистрация: 21.12.2012

#3

18.03.2013 16:54:49

Код
Sub ExportTextFile()

    Dim fso As Object
    Dim txt As Object
    Dim cell As Range
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    Set txt = fso.CreateTextFile("C:ResultExcel.txt", True)
    For Each cell In Range("A2:O2")
        txt.WriteLine cell
    Next
    
    txt.Close
    Set txt = Nothing
    Set fso = Nothing
    
End Sub

There is no knowledge that is not power

 

Hugo

Пользователь

Сообщений: 23257
Регистрация: 22.12.2012

#4

18.03.2013 17:01:59

Хотя вот — и разбирать нечего…

Код
Sub Экспорт()
    Open ThisWorkbook.Path & "ResultExcel.txt" For Output As #1
    Print #1, Join(Application.Transpose(Application.Transpose([A2:O2].Value)), vbNewLine)
    Close #1
End Sub
 

Margo101

Пользователь

Сообщений: 11
Регистрация: 18.03.2013

Johny это то что нужно! Большое спасибо! Все просто и работает!

 

Margo101

Пользователь

Сообщений: 11
Регистрация: 18.03.2013

Hugo, спасибо, Ваш даже стабильнее работает! А подскажите пож-та как реализовать чтобы текст сохранялся в utf-8? спасибо

 

Margo101

Пользователь

Сообщений: 11
Регистрация: 18.03.2013

какието там сложные методы ))
нашла вот этот, но там не сохраняет заданный диапазон..

 Dim ADOStream: Set ADOStream = CreateObject(«ADODB.Stream»)
 With ADOStream
   .Open
   .Charset = «utf-8»                    ‘

http://ru.wikipedia.org/wiki/Aeuoa?iaoeaiay_eiae?iaea

   .WriteText F
   .SaveToFile «1.txt», 2     ‘ Ia?acaienaou, anee nouanoaoao
   .Close
 End With: Set ADOStream = Nothing

 

Hugo

Пользователь

Сообщений: 23257
Регистрация: 22.12.2012

#9

18.03.2013 23:44:42

Есть вариант попроще:

Код
Sub Экспорт()
    With CreateObject("OlePrn.OleCvt.1")
        Open ThisWorkbook.Path & "ResultExcel.txt" For Output As #1
        Print #1, .ToUtf8(Join(Application.Transpose(Application.Transpose([A2:O2].Value)), vbNewLine))
        Close #1
    End With
End Sub

Но сразу предупреждаю — под x64 виндой и Экселем работает криво…
Кстати — если кто знает вариант, как получить из «вася» «РІР°СЃСЏ» под x64 — поделитесь, очень нужно.
Или абвг -> абвг
Может scriptcontrol с jscript привлечь? Вот только не нашёл кода..

Изменено: Hugo18.03.2013 23:50:13

 

Margo101

Пользователь

Сообщений: 11
Регистрация: 18.03.2013

Печалька! У меня как раз х64.. завтра попробую под х32..
Сейчас вылазят кракозябры..

Все равно большое спасибо!

 

Margo101

Пользователь

Сообщений: 11
Регистрация: 18.03.2013

Hugo, попробовала 2й макрос сохранять не в txt а в csv так он мне кажется в utf его не переводит, т.к другая программа которой нужен utf текст, не видит этот текст, пока этот CSV не с конвертируешь в UTF, или это только для тхт?

 

Создание текстовых файлов в UTF-8:

http://excelvba.ru/code/createtextfiles_utf8

Перекодировка текста, или готового текстового файла:

http://excelvba.ru/code/encode

 

Hugo

Пользователь

Сообщений: 23257
Регистрация: 22.12.2012

#13

19.03.2013 10:14:38

Цитата
Margo101 пишет:
Hugo, попробовала 2й макрос сохранять не в txt а в csv так он мне кажется в utf его не переводит, т.к другая программа которой нужен utf текст, не видит этот текст, пока этот CSV не с конвертируешь в UTF, или это только для тхт?

Нет, разницы никакой нет — txt или csv.
Покажите файл с кодом — мы проверим.

 

Margo101

Пользователь

Сообщений: 11
Регистрация: 18.03.2013

Вот то что я писала про то что нашла сложные примеры в 1 посте это как раз то что выложил EducatedFool =))

EducatedFool попыталась переделать Ваш файл, опять ничего не получается, как заставить его заносить все данные из 15 строки, если в 13 и 14 указываю одинаковые данные? Т.к мне необходимо чтобы все формировалось в 1 файл… приложила файл prays

Hugo, гляньте мой csv, мой notepad++ говорит что файл в ansii хотя формируются кракозябры… у меня х64
кстати проверила на х32 тоже формируются кракозябры….

Изменено: Margo10105.06.2013 00:02:03

 

Hugo

Пользователь

Сообщений: 23257
Регистрация: 22.12.2012

У меня на х86 мой код создал ansi as utf8 (по мнению нотепада++)

 

Margo101

Пользователь

Сообщений: 11
Регистрация: 18.03.2013

странно, а не могли бы вы выложить, свой excel файл? я попробывала на х86 перебить слова по новой в таблице…. не помогает..

 

Hugo

Пользователь

Сообщений: 23257
Регистрация: 22.12.2012

Я в Ваш prays (1).xls закинул код из поста выше и выполнил. Всё.
Думаю тут ещё играют роль кодовые страницы системы.

У меня например так:

[HKEY_LOCAL_MACHINESYSTEMControlSet001ControlNlsCodePage]
«1251»=»c_1251.nls»
«1252»=»c_1251.nls»

и ControlSet003 аналогично.
Но на х64 это не помогло…

Изменено: Hugo19.03.2013 12:33:55

 

Margo101

Пользователь

Сообщений: 11
Регистрация: 18.03.2013

ну на х86 у меня опять не прокатило, реестр чистый, при создании файла из прайса все равно пишет что ansii хотя вот ваш файлик определяется как надо…! ух уж этот excel   :o

PS махинации с реестром на х86 провела, рестарт, итого- ничего не помогло ((( все равно ansii

Изменено: Margo10119.03.2013 12:47:47

 

Johny

Пользователь

Сообщений: 2737
Регистрация: 21.12.2012

UTF:
Set txt = fso.CreateTextFile(«C:ResultExcel.txt», True, True)

There is no knowledge that is not power

 

Margo101

Пользователь

Сообщений: 11
Регистрация: 18.03.2013

Johny большое спасибо! Сохраняет правда не в UTF а в UCS, но программа которой нужен этот файл теперь его читает и по русски =)

остался вопрос, как без указания директории сохранять файл?
пробывала Set txt = fso.CreateTextFile(«ResultExcel.txt», True, True) всё равно сохраняет на диск Ц
так Set txt = fso.CreateTextFile(«ResultExcel.txt», True, True) один раз сохранил в директорию где была таблица, после чего сохранять отказался…
на гуглила Set ts = fso.CreateTextFile(Server.MapPath(‘data.txt’), True) но не прокатывает. это для asp
и всё что гуглила еще так же не работало…

 

Hugo

Пользователь

Сообщений: 23257
Регистрация: 22.12.2012

Ну возьмите тогда из моего кода хоть ThisWorkbook.Path & :)

 

Margo101

Пользователь

Сообщений: 11
Регистрация: 18.03.2013

Всё вроде бы получила то что хотела, всем большое спасибо! Надо было учить vba когда мне это советовали, не послушала…   :|

 

Timur

Пользователь

Сообщений: 108
Регистрация: 26.12.2012

#23

04.06.2013 13:42:02

Добрый день!
А подскажите пожалуйста как сделать так чтобы текущий лист в книге сохранялся в формате «Текстовые файлы (с разделителями табуляции) (*.txt)» в текстовый файл (задать имя этому файлу)  и сохранялся в той же папке что и файл экселя, ну или указать ему путь.
Прочитав эту ветку форума и др.

http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=8&TID=14606&MID=122966#message122966

и

http://excelvba.ru/Addins.html

так и не смог сам себе помочь(((
рву волосы на себе от отчаянья…

Прикрепленные файлы

  • проба макроса сохранения.xlsm (13.06 КБ)

Retroman

1 / 1 / 1

Регистрация: 27.01.2015

Сообщений: 73

1

09.12.2018, 14:33. Показов 19190. Ответов 12

Метки excel, txt, txtfile, vba, данные, экспорт (Все метки)


Студворк — интернет-сервис помощи студентам

Мне нужно из xmlx файла (Microsoft excel 2010) выполнить экспорт данных в ячейке в txt файл. Однако программа выдаёт ошибку «invalid outside procedure», ругаясь на строчку 2. Из-за этого я не могу автоматизировать процесс экспорта, чтобы 2000 ячеек руками не перетаскивать по схеме — 1 ячейка = 1 txt файл. Я не понимаю, что мне нужно сделать, чтобы исправить данную ошибку?

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Dim strText As String 'объявляем переменную для сбора значений 
Range("A1").Select 'выбираем ячейку А1 
strText = strText & Str(ActiveCell.Value) & vbNewLine 'Берем переменную и добавляем значение ячейки 
Range("A2").Select 'и так дальше 
strText = strText & Str(ActiveCell.Value) & vbNewLine 
Range("A3").Select 
strText = strText & Str(ActiveCell.Value) & vbNewLine 
Dim I As Integer 'переменная для значения номера свободного канала доступа к файлу 
I = FreeFile 'получаем значение 
Open "C:Text.txt" For Output As #I 'открываем файл для записи 
Print #I, strText 'Записываем все в файл 
Close #I 'закрываем файл

Вложения

Тип файла: xlsx Лист Microsoft Excel.xlsx (10.5 Кб, 28 просмотров)



0



Hugo121

6875 / 2807 / 533

Регистрация: 19.10.2012

Сообщений: 8,562

09.12.2018, 15:30

2

1. Селекты — это лишнее.
2. Почитайте описание Str(). Да и вообще зачем оно тут?
3. Часто бывает что писать в корень системного диска просто тупо запрещено!

Добавлено через 2 минуты

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Sub tt()
    Dim strText As String    'объявляем переменную для сбора значений
    Dim i&
    For i = 1 To 3
        strText = strText & Cells(i, 1).Value & vbNewLine    'Берем переменную и добавляем значение ячейки
    Next
    i = FreeFile    'получаем значение
    Open "d:TempText.txt" For Output As #i    'открываем файл для записи
    Print #i, strText    'Записываем все в файл
    Close #i    'закрываем файл
End Sub



0



Казанский

15136 / 6410 / 1730

Регистрация: 24.09.2011

Сообщений: 9,999

09.12.2018, 16:53

3

Retroman, или так

Visual Basic
1
2
3
4
5
Sub yy()
    Open "c:TempText.txt" For Output As FreeFile    'открываем файл для записи
    Print #FreeFile - 1, [a1]; vbNewLine; [a2]; vbNewLine; [a3] 'Записываем все в файл
    Reset    'закрываем файл
End Sub

Кстати, если файлу дать расширение htm, то он вполне открывается браузером, и даже с картинками



0



Retroman

1 / 1 / 1

Регистрация: 27.01.2015

Сообщений: 73

09.12.2018, 18:30

 [ТС]

4

Hugo121, тогда, если мне надо каждую ячейку в отдельный файл, нужно будет просто открытие файла воткнуть в своеобразный цикл, вроде такого? Или подобный цикл в Basic по-другому реализуется?

Visual Basic
1
2
3
4
5
6
7
 For i = 1 To 3
        strText = strText & Cells(i, 1).Value & vbNewLine    'Берем переменную и добавляем значение ячейки
         i = FreeFile    'получаем значение
         Open "d:TempText.txt" For Output As #i    'открываем файл для записи
         Print #i, strText    'Записываем все в файл
         Close #i    'закрываем файл
         Next



0



6875 / 2807 / 533

Регистрация: 19.10.2012

Сообщений: 8,562

09.12.2018, 18:45

5

Цитата
Сообщение от Retroman
Посмотреть сообщение

по схеме — 1 ячейка = 1 txt файл

— тут я такого вообще не вижу, поэтому пока вопрос ответа не имеет
А вообще особых проблем нет (просто вызывайте в цикле tt, но с параметрами — начало анализа и имя файла), но кто будет придумывать имена файлам?



0



1 / 1 / 1

Регистрация: 27.01.2015

Сообщений: 73

09.12.2018, 19:12

 [ТС]

6

Hugo121, А можно сделать в VB так, чтобы именем открываемого файла была итерация в цикле, то есть i=1 — файл называется 1.txt, i=2 — 2.txt и так далее?



0



Hugo121

6875 / 2807 / 533

Регистрация: 19.10.2012

Сообщений: 8,562

09.12.2018, 19:16

7

Можно.

Visual Basic
1
Open "d:Temp" & i & ".txt"

Но советую сразу продумать что делать если такой файл уже есть.
Хотя в данной реализации файл просто будет создан заново.



0



Retroman

1 / 1 / 1

Регистрация: 27.01.2015

Сообщений: 73

09.12.2018, 19:34

 [ТС]

8

Тогда, если я правильно всё понимаю, макрос с распределением по одной ячейке на файл будет выглядеть так, или я снова напортачил?

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Sub tt()
    Dim strText As String    'объявляем переменную для сбора значений
    Dim i&
    For i = 1 To 3 
        strText = strText & Cells(i, 1).Value & vbNewLine    'Берем переменную и добавляем значение ячейки
    i = FreeFile    'получаем значение
    Open "d:Temp" & i & ".txt" For Output As #i    'открываем файл для записи
    Print #i, strText    'Записываем все в файл
    Close #i    'закрываем файл
    Next
End Sub



0



Hugo121

6875 / 2807 / 533

Регистрация: 19.10.2012

Сообщений: 8,562

09.12.2018, 19:44

9

Лучший ответ Сообщение было отмечено Retroman как решение

Решение

Не, напортачили.

Visual Basic
1
2
3
4
5
6
7
8
9
Sub tt()
    Dim i&, x
    For i = 1 To 3
        x = FreeFile
        Open "d:Temp" & i & ".txt" For Output As #x    'открываем файл для записи
        Print #x, Cells(i, 1).Value    'Записываем ОДНУ ЯЧЕЙКУ в файл
        Close #x    'закрываем файл
    Next
End Sub



1



1 / 1 / 1

Регистрация: 27.01.2015

Сообщений: 73

09.12.2018, 19:52

 [ТС]

10

Hugo121, благодарю за помощь Теперь с этой задачей проблем нет



0



0 / 0 / 0

Регистрация: 06.11.2019

Сообщений: 2

06.11.2019, 12:17

11

А как модифицировать чтобы txt создавались сразу в UTF-8?



0



Meccup1

3 / 2 / 1

Регистрация: 22.10.2019

Сообщений: 21

06.11.2019, 12:45

12

Цитата
Сообщение от Murki
Посмотреть сообщение

А как модифицировать чтобы txt создавались сразу в UTF-8?

Какие древние темы поднимаются из-за лени гуглить.

Кликните здесь для просмотра всего текста

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Function SaveTextToFile(ByVal txt$, ByVal filename$, Optional ByVal encoding$ = "windows-1251") As Boolean
    ' функция сохраняет текст txt в кодировке Charset$ в файл filename$
    On Error Resume Next: Err.Clear
    Select Case encoding$
 
        Case "windows-1251", "", "ansi"
            Set FSO = CreateObject("scripting.filesystemobject")
            Set ts = FSO.CreateTextFile(filename, True)
            ts.Write txt: ts.Close
            Set ts = Nothing: Set FSO = Nothing
 
        Case "utf-16", "utf-16LE"
            Set FSO = CreateObject("scripting.filesystemobject")
            Set ts = FSO.CreateTextFile(filename, True, True)
            ts.Write txt: ts.Close
            Set ts = Nothing: Set FSO = Nothing
 
        Case "utf-8noBOM"
            With CreateObject("ADODB.Stream")
                .Type = 2: .Charset = "utf-8": .Open
                .WriteText txt$
 
                Set binaryStream = CreateObject("ADODB.Stream")
                binaryStream.Type = 1: binaryStream.Mode = 3: binaryStream.Open
                .Position = 3: .CopyTo binaryStream        'Skip BOM bytes
                .flush: .Close
                binaryStream.SaveToFile filename$, 2
                binaryStream.Close
            End With
 
        Case Else
            With CreateObject("ADODB.Stream")
                .Type = 2: .Charset = encoding$: .Open
                .WriteText txt$
                .SaveToFile filename$, 2        ' сохраняем файл в заданной кодировке
                .Close
            End With
    End Select
    SaveTextToFile = Err = 0: DoEvents
End Function

Ключ к решению в команде .Charset = «utf-8»



0



0 / 0 / 0

Регистрация: 06.11.2019

Сообщений: 2

06.11.2019, 13:16

13

Спасибо, но не пойму куда воткнуть .Charset = «utf-8″…



0



Импорт и экспорт текстовых файлов (в формате TXT или CSV)

​Смотрите также​​ случайно не сын​ это сделает всего​ достаточно… ну или​ Файл-Сохранить как…​ И яђ М​ прграмм.​ сейчас получиться))))​ файл (построчно)​:​DIF​ текстового файла, разделенного​ формате с разделителями-запятыми​ и необходимо получить​ текстового формата в​ к нему.​ Excel его формат​Примечание:​ старика Ковальского? -​ за 5 секунд…​ в крайнем случае​

​- задай тип​ A r i​total_commander изменяет разширение​Джон39​For lngRow =​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub qq()​DIF​ знаками табуляции, —​ (CSV). Имейте в​ дополнительные сведения о​ числовой и Преобразование​​В имеющийся лист можно​​ не изменяется — это​ Мы стараемся как можно​ Да,​

​Guest​ можно воспользоватся рекордером…​

  • ​ файла «текстовый»​ a l C​ за три секунды,​: Нужно создать файл​ 1 To 3​a = Cells(1,​

  • ​Формат обмена данными. Сохраняет​ для использования в​ виду, что при​ том, какие возможности​ дат из текстового​ импортировать данные из​

​ можно видеть в​ оперативнее обеспечивать вас​сын, но что​: Если честно, разу​ а потом немного​Вот тогда и​ y r 1​

​ но решил проверить​​ для загрузки данных​a = Cells(lngRow,​ 1).Value & String$(15​ только активный лист.​

Импорт текстового файла путем его открытия в Microsoft Excel

​ операционной системе Макинтош​ сохранении книги в​ Excel не поддерживаются​ формата в формат​ текстового файла как​​ строке заголовка Microsoft​​ актуальными справочными материалами​ «случайно», я слышу​ макрос не писал,​ подпилить код.​ придёт к тебе​ » И яђ​ и открыл блокнотом​ в 1C, которая​ 1).Value & String$(15​ — Len(Cells(1, 1).Value),​

  1. ​SYLK​​ — и гарантирует,​​ другом формате может​​ форматами текстовых файлов,​​ даты.​

  2. ​ диапазон внешних данных.​​ Excel, где имя​​ на вашем языке.​​ впервые.​​ всегда формулами обходился.​

  3. ​xxxspeed​ счастье!​

    • ​ М A r​ увидел, что кодировка​ ест только xml,​ — Len(Cells(lngRow, 1).Value),​ » «) &​SLK​​ что символы табуляции,​​ быть утрачена часть​ нажмите кнопку​

    • ​Лист Excel можно преобразовать​Щелкните ячейку, в которую​ отображается с расширением​ Эта страница переведена​

    • ​•​ Плиз, помогите.​: Добрый день! Может​Beforydeath​ i a l​

      ​ была нарушина и​​ csv, txt. Может​ » «) &​ _​Формат Symbolic Link. Сохраняется​ разрывы строк и​ форматирования, данных и​Справка​ в текстовый файл,​ требуется поместить данные​ текстового файла (например,​ автоматически, поэтому ее​В Одессе на​JDC555​ кто знает как​: почитай про макросы​ C y r​ вместо нормального вида​ из xml и​ _​Cells(1, 2).Value &​ только активный лист.​ другие символы будут​ возможностей.​.​ используя команду меню​ из текстового файла.​ .TXT или .CSV).​ текст может содержать​ рынке.​: Доброго времени суток​ конвертировать таблицу их​ в excel`е.. думаю​

Импорт текстового файла путем подключения к нему

​ 1 »  ​ в MS DOS​ csv загружать и​Cells(lngRow, 2).Value &​

  1. ​ String$(14 — Len(Cells(1,​A_3485​ интерпретироваться правильно. Сохраняет​

  2. ​Внимание:​​Дополнительные сведения о сохранении​​Сохранить как​​На вкладке​​Последовательно выберите пункты​​ неточности и грамматические​​Покупательница: — Почем​

    Параметры

  3. ​ уважаемый форумчане!​ excel в txt.​ моно там что-то​

    ​ яђ М A​ (текста и набора​ проще, но в​ String$(14 — Len(Cells(lngRow,​ 2).Value), » «)​: Уважаемы формучане добрый​ только активный лист.​​  При сохранении книги​ изображение кнопки​ файлов в других​.​Данные​файл​​ ошибки. Для нас​​ Ваши​Столкнулся с проблемой.​

  4. ​ Чтоб сохранился весь​​ нахимичить​​ r i a​ цифр) иероглифы.​

    • ​ обучающем видео показывают​​ 2).Value), » «)​​ & _​ день!​Текст (MS-DOS)​

    • ​ в любом текстовом​​ форматах см. в​​Выберите​в группе​

      • ​>​ важно, чтобы эта​синенькие? Продавец:​​ необходимо Excel таблицу​​ порядок строк и​

      • ​Irq​ l C y​———————————————————-пример как надо:——————————————————————————————​ только как правильно​​ & _​​Cells(1, 3).Value &​

  5. ​Помогите пожалуйста разобраться​​TXT​​ формате теряются все​

    ​ статье Сохранение книги​Файл​Получение внешних данных​

​Открыть​ статья была вам​- Дура, это​ с 3 столбцами​ столбцов.​: Можно написать макрос​ r 1 И​DEPT.M : Depth​ грузить из TXT,​Cells(lngRow, 3).Value &​ String$(20 — Len(Cells(1,​ с макросом экспорта​

Экспорт данных в текстовый файл путем его сохранения

​Сохраняет книгу в виде​ элементы форматирования.​ в другом формате​​ >​​нажмите кнопку​

  1. ​.​​ полезна. Просим вас​​ цыплята! •​​ , как то​​cross​

  2. ​ как предлагают. Макрос​​ @ ђ A​​ curve​

  3. ​ поэтому я пока​​ String$(20 — Len(Cells(lngRow,​​ 3).Value), » «)​ содержимого Лист1 в​

    • ​ текстового файла, разделенного​​Откройте книгу, которую вы​ файла.​​Сохранить как​​Из текстового или CSV-файла​​В диалоговом окне​

    • ​ уделить пару секунд​​- Извините, -​ перевести в txt,​: наверно сохранить как​ будет сам открывать​ r i a​INT .U.E :​ пойду по этому​ 3).Value), » «)​

  4. ​ & _​ файл txt.​ знаками табуляции, —​ хотите сохранить.​​Если для импорта текстового​​.​

  5. ​.​Открыть​ и сообщить, помогла​ спрашивает молодая мать​ чтобы информация в​ xml и с​ каждый файл (например​ l / #​​ Integralnyi signal SGDT​​ пути.​ & _​Cells(1, 4).Value​Из блуждания по​ для использования в​

  6. ​На вкладке​ файла используется мастер​Появится диалоговое окно​Найдите файл, который нужно​выберите пункт​ ли она вам,​ сидящую в женской​ txt отображалась с​ ним уже баловаться​ все файлы в​ , # #​​SEL .U.E :​​Итак, есть таблица​Cells(lngRow, 4).Value​Debug.Print a​ сети нашел код​ операционной системе MS-DOS​Файл​ импорта текста, то​​Сохранение документа​​ импортировать, и дважды​

​Текстовые файлы​ с помощью кнопок​консультации даму, -​ разделителями.​Hugo​ указанной папке) и​

Изменение разделителя, используемого в текстовом файле

​ 0 » @.​ Selectivnyi signal SGDT​ excel с тремя​Print #1, a​End Sub​ и попробовал его​ — и гарантирует,​выберите команду​ на втором этапе​.​ щелкните его.​.​ внизу страницы. Для​

​ чем Вы кормите​000002|А.Захар Александрович|00100.00​: Сохранить как текст​ сам же будет​

Изменение разделителя во всех текстовых CSV-файлах

  1. ​ » ; ​TOL .U.E :​​ столбцами.​​’Debug.Print aне отличие,​​0000000001 -10000 0​​ применить к моим​

  2. ​ что символы табуляции,​Сохранить как​ работы мастера разделитель​

  3. ​В поле​Следуйте инструкциям мастера импорта​​Найдите нужный файл и​​ удобства также приводим​

  4. ​ ребенка? — Как​​000003|А.Елена Петровна|00100.00​​ не подходит? Почему?​

​ пересохранять. Там же​​ — # ,​ Tolshinomer SGDT​Мне нужно создать текстовый​ просто не нужно​ SEL​ данным:​ разрывы строк и​.​

См. также

​ текста можно изменить​Тип файла​

​ текста. Дополнительные сведения​ дважды щелкните его.​

​ ссылку на оригинал​

​ чем? Пока​000004|А.Полина Юрьевна|00100.00​

​cross​

​ наверняка можно указать​

support.office.com

Сохранение книги в текстовом формате (TXT или CSV)

​ # # 0​SEL .U.E :​ файл в котором​Next lngRow​Сожранные пробелы заменил​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Экспорт_данных()​ другие символы будут​Выберите расположение, где нужно​ с символа табуляции​выберите формат текстового​ об использовании мастера​Если это текстовый файл​ (на английском языке).​

​бюстом! •​​Заранее благодарен.​: наверно сохранить как​ кодировку (при сохранении).​ » @. «​

  1. ​ Selectivnyi signal SGDT​ данные столбцов будут​

  2. ​’ закрываем​​ звездочкой​​Dim lngRow As​​ интерпретироваться правильно. Сохраняет​​ сохранить книгу.​

    Пункт

  3. ​ на другой символ.​ файла для листа.​

    Выбор варианта расположения

  4. ​ импорта текста см.​​ (с расширением ТХТ),​​Импортировать данные из текстовых​- Папа, скажи,​

  5. ​Казанский​​ xml и с​​Валерий старосветсков​ 9 # ,​NG .U.E :​

    ​ разделены точкой с​​Close #1​0000000001*****-10000********0*******************SEL​ Long​ только активный лист.​В диалоговом окне​

    Диалоговое окно

  6. ​ На данном этапе​Например, выберите​​ в его справке,​​ запустится мастер импорта​ файлов в Excel​

Доступные форматы текстовых файлов

​ как правильно пишется:​

​: Разделитель «|»? Приложите​

​ ним уже баловаться{/post}{/quote}​

​: нажми переименовать файл​ # # 0​

​ NGK​

​ запятой.​End Sub​A_3485​’ Открываем файл​

​Текст в кодировке Unicode​Сохранение документа​

​ также можно изменить​

​Текстовые файлы (с разделителями​ которую можно вызвать​ текста. Окончив работу​ можно двумя способами:​ фликончик или​ пример файла -​cross​ и поменяй расширение​ » @. «​GK .mRh :​В вариантах сохранения​Называется — найди​

​: Заменил на свои​

​ для сохранения​

​TXT​перейдите в нужное​ способ обработки последовательных​ табуляции)​ с помощью кнопки​ с мастером, нажмите​ открыть файл в​флякончик? — Деточка,​ первый и третий​: формат csv -​ вручную!​

​ ; [ R​

​ Gamma method,(mkR/h)​

​ есть только Txt​ два отличия​ данные. Ничего не​Open «C:данные.txt» For​Сохраняет книгу в виде​ расположение.​ разделителей (например, идущих​или​Справка​ кнопку​ приложении Excel или​

​ не фликончик и​

​ столбец вызывают вопросы.​

​ хоть и некрасиво​letterf​ e d ]​TP .mks :​ с разделителем табуляция.​

​A_3485​

​ получилось:​

​ Output As #1​ текста в кодировке​Щелкните стрелку в поле​ подряд кавычек).​CSV (разделители — запятые)​на любой странице​Готово​ импортировать его как​ не флякончик, а​JDC555​ визуально выглядит -​: Всем привет!!!​

​ — #​

​ Vremya po porode(AKC)​

​ Гугл ответа не​: Огромное СПАСИБО.​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Экспорт_данных()​’ Записываем выделенную​ Unicode, стандартной кодировке​Тип файла​Дополнительные сведения о разделителях​.​ мастера. Окончив работу​, чтобы завершить операцию​ диапазон внешних данных.​

​ пизурок.​

​, разовую операцию можно​

​ но всё находится​Столкнулась с проблемой…​ , # #​AK .V :​ дает.​ИринаИрина​Dim lngRow As​ части таблицы в​ символов, разработанном Unicode​и выберите нужный​ и дополнительных параметрах​

​Примечание:​

​ с мастером, нажмите​

​ импорта.​ Чтобы экспортировать данные​

​•​

​ сделать так, в​

​ на своем месте​ Есть большие массивы​

support.office.com

Экспорт данных из Excel в txt (Макросы/Sub)

​ 0 » @.​​ Ak-amplituda po kolonne​astana2015​
​: Добрый день! В​ Long​ файл (построчно)​ Consortium.​
​ формат файла (TXT​ см. в статье​ Различные форматы поддерживают разные​ кнопку​Статья: Мастер импорта текста​
​ из Excel в​
​- Рабинович! У​ Excel - формат​
​cross​ данных(больше 100 тыс​
​ " ; ​AP .V :​
​: очень легко нужно​ excel набрана таблица​' Открываем файл​
​For lngRow =​CSV (разделители — запятые)​
​ или CSV).​ Мастер импорта текста.​ наборы функциональных возможностей.​
​Готово​ Дополнительные сведения о​
​ текстовый файл, используйте​ Вас на голове​ ячеек "|'@, а​: [оффтоп]Не пинайте сильно,​ строк) в Excel​ # , #​
​ Ap-amplituda po porode​
​ файл.​
​ с данными сотрудников.​
​ для сохранения​
​ 1 To 3​
​CSV​
​Примечание:​
​В операционной системе Microsoft​

​ Дополнительные сведения о​, чтобы завершить операцию​ разделители и дополнительные​ команду​ сидит муха! -​ потом сохранить как​
​ приходится пользоватся разными​ формате, нужно перевести​ # 0 .​
​~ASCII Log Data​можно сделать через​
​ Есть необходимость частичные​Open «C:данные.txt» For​
​’ Записываем содержимое​Сохраняет книгу в виде​ Список доступных форматов файлов​ Windows нажмите кнопку​
​ функциональных возможностях, поддерживаемых​

​ импорта.​​ параметры.​​Сохранить как​
​ Вы что, хотите​ форматированный текст, открыть​ браузерами - так​ их в txt.​ 0 0 "​
​2.50 -999.250 -999.250​ ms access.​ столбцы перенести в​ Output As #1​
​ всех столбцов строки​ текстового файла, разделенного​ зависит от типа​Пуск​
​ различными форматами текстовых​
​В диалоговом окне​
​Если файл имеет расширение​

​и измените тип​сказать, что я​
​ блокнотом и сохранить​ как они косячат​
​ Открытие каждого файла​

​ @. » ;​​ -999.250 -999.250 -999.250​Hugo​ txt формат, причем​
​' Записываем выделенную​
​ lngRow​ знаками запятой, —​
​ активного листа в​и выберите пункт​
​ файлов, см. в​Импорт данных​
​ CSV, приложение Excel​ файла в раскрывающемся​ - говно? -​
​ в txt.​ по разному и​
​ и "сохранение его​ - #​ -999.250 1512.000 50.834​: Выгружайте в csv.​ информация друг от​
​ части таблицы в​For intCol =​ для использования в​ книге (лист, лист​
​Панель управления​ разделе Поддерживаемые Excel​выполните одно из​ автоматически откроет его​
​ меню.​
​ Я ничего не​
​tip-42​
​ не всегда можно​
​ как" не подходит,​
​ , # #​
​ 46.854​

​SLAVICK​​ друга отделяется определенным​
​ файл (построчно)​
​ 1 To 1​ другой операционной системе​
​ диаграммы или другой).​.​
​ форматы файлов.​ указанных ниже действий.​
​ и отобразит данные​Чаще всего используются два​ хочу сказать! Но​
​: Здравствуйте, кто знает?​ зайти в тему​
​ так как каждый​ 0 . 0​2.60 -999.250 -999.250​: Попробуйте сохранить как:​ символом, например: Иванов'​
​For lngRow =​Write #1, Selection.Cells(lngRow,​ Windows — и​Примите имя, предложенное в​
​Откройте диалоговое окно изменения​Перейдите в папку, в​При необходимости нажмите кнопку​ в новой книге.​
​ формата текстовых файлов:​
​ муху​
​ Надо сделать импорт​ с одного и​
​ файл открывается минут​
​ 0 " @.​
​ -999.250 -999.250 -999.250​
​ CSV (MS-DOS).​

​ Иван’ Иванович ‘1997’​ 1 To 3​

​ 1).Value & «»​​ гарантирует, что символы​

excelworld.ru

из excel в txt формат (Word)

​ поле​​ региональных и языковых​ которой нужно сохранить​Свойства​Примечание:​текстовые файлы с разделителями​не обманешь.​ из файла txt​ тогоже[оффтоп]​ по 15.​ » E #​ -999.250 1512.000 50.777​
​Или взять например​ Россия’ и т.д.​a = Cells(lngRow,​ & Selection.Cells(lngRow, 2).Value​ табуляции, разрывы строк​Имя файла​ параметров.​

​ новый текстовый файл,​​, чтобы задать параметры​ .При открытии в Excel​
​ (TXT), в которых​​•​ в Excel но,​а по сабжу​Может кто подскажет​ , #​ 47.658​ отсюда второй макрос​Подскажите, пожалуйста, как​ 1).Value & String$(15​ & «» &​ и другие символы​, или введите новое​Введите новый разделитель в​ и нажмите кнопку​ обновления, форматирования и​ файлов с расширением​

​ для разделения полей​​- Роза! Ты​ что бы строки​ — может надо​

excelworld.ru

Как преобразовать таблицу в txt с разделителями (Формулы/Formulas)

​ как сохранять файлы​​___________________________________________________________________________________________________​2.70 -999.250 -999.250​ — и использовать​ это сделать побыстрее​ — Len(Cells(1, 1).Value),​ Selection.Cells(lngRow, 3).Value &​ будут интерпретироваться правильно.​ имя книги.​ поле​Сохранить​ макета импортируемых данных.​ CSV для интерпретации​ текста обычно используется​ ничего не заметила?​
​ из txt не​ куда экспортировать как​ в txt без​​я новичек в​ -999.250 -999.250 -999.250​ его, только заменить​ (в таблице 500​ » «) &​
​ «»; Selection.Cells(lngRow, 4).Value;​ Сохраняет только активный​Формат​Разделитель элементов списка​.​

​В группе​​ способа импорта каждого​ знак табуляции (код​
​ У меня давно​ разбивались по строкам​

​ базу через некий​​ открытия и установки​

​ таких сложных процессах.​​ -999.250 1511.616 50.806​ vbTab на «;»​
​ строк и 25​ _​Next intCol​ лист.​Расширение​

​.​​Откроется диалоговое окно с​Куда следует поместить данные?​ столбца данных используются​ знака ASCII 009);​ выпадают​ в екселе. Надо,​ интерфейс, а создатель​ сторонних самопальных программ???​ так что помогите​
​ 48.408​Gustav​
​ столбцов). Ручной перенос​Cells(lngRow, 2).Value &​’ следующая строка​CSV (Макинтош)​Описание​Дважды нажмите кнопку​

excelworld.ru

Перевод формата XLS в TXT

​ напоминанием о том,​выполните одно из​ текущие параметры по​текстовые файлы с разделением​волосы. Это ужасно!​ что бы в​ последнего предусмотрел только​igrtsk​ пожалуйста.​
​2.80 -999.250 -999.250​: Пусть это столбцы​ через буфер занимает​ String$(14 — Len(Cells(1,​s = «»​CSV​Форматированный текст (разделители —​ОК​ что в текстовом​ следующих действий:​

​ умолчанию. С помощью​
​ значений запятыми (CSV),​ Как мне их​
​ экселе по строкам​ формат txt. вот​
​: Только силой мысли.​может есть выход​
​ -999.250 -999.250 -999.250​ A,B,C. Если в​
​ слишком много времени.​ 2).Value), » «)​
​Print #1, s​Сохраняет книгу в виде​
​ пробелы)​.​
​ файле будет сохранен​Чтобы поместить данные в​
​ мастера импорта текста​ в которых в​
​ сохранить?​ было разделение с​
​ и результат :)​
​Ну, а если​ массового изменения формата,​ -999.250 1511.060 50.968​ их значениях гарантированно​
​_Boroda_​ & _​Next lngRow​ текстового файла, разделенного​
​PRN​Примечание:​ только текущий лист.​ выбранное расположение, выберите​
​ можно применять другие​ качестве разделителя полей​- Не волнуйся!​ помощью разделителя любого.​
​можно попробывать csv​

​ серьезно, то макрос​
​ а не по​ 48.944​ не может встретиться​: В новом файле​Cells(lngRow, 3).Value &​’ закрываем​ знаками запятой, —​Формат для Lotus, с​ После изменения символа разделителя​ Если нужно сохранить​ вариант​ варианты преобразования столбцов​ текста обычно используется​ Это же пустяк.​формат файла подобный​ — он хохраняет​ поможет вам автоматизировать​ одному и через​__________________________________________________________________________________________________​ точка с запятой,​ пишете такую формулу​ String$(20 — Len(Cells(1,​Close #1​ для использования в​ разделителями — пробелами.​ элементов списка на​ именно текущий лист,​На существующий лист​ в различные форматы​ запятая (,).​ Складывай их в​ :​ положение кординат данных​ данное действие, но​ EXCEL. < другие​———————————————————пример как получается:———————————————————————————​ то можно попробовать​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=[а.xls]Лист1!B4&»‘»&[а.xls]Лист1!C4&»‘»&[а.xls]Лист1!D4&»‘»&ТЕКСТ([а.xls]Лист1!E4;»ДД.ММ.ГГГ»)&»‘»&[а.xls]Лист1!F4&»‘»&ТЕКСТ([а.xls]Лист1!G4;»ДД.ММ.ГГГ»)&»‘»&[а.xls]Лист1!H4&»‘»&[а.xls]Лист1!I4&»‘»&[а.xls]Лист1!J4&»‘»&[а.xls]Лист1!K4&»‘»&[а.xls]Лист1!L4&»‘»&[а.xls]Лист1!M4&»‘»&[а.xls]Лист1!N4&»‘»&[а.xls]Лист1!O4​ 3).Value), » «)​End Sub​ операционной системе Макинтош​ Сохраняет только активный​ данном компьютере все​ нажмите кнопку​.​ данных. Например, в​Можно изменить знак разделителя,​ картонную​Напротив одесского вокзала​Guest​ без открытия файла​ форматы> и т.д.​РПаЎ±б > юя​ в четвертом столбце​(где а -​ & _​Итог работы получается​ — и гарантирует,​ лист​ программы будут использовать​
​ОК​
​Чтобы поместить данные в​ файле с расширением​ используемый как в​коробочку. •​
​ бездействует фонтан. -​: прошу прощенья за​ тем же самым​заранее благодарен.​ & юяяя юяяя​ Excel (D) написать​

​ название Вашего файла,​

​Cells(lngRow, 4).Value​​ совсем не тот​ что символы табуляции,​
​Текст (разделители — знаки​
​ новый символ. Та​. Другие листы можно​ верхний левый угол​
​ CSV в столбце​ TXT-, так и​
​Надо, что бы​ Скажите, -​
​ глупый вопрос, ступил.​
​ макросом — никак​Jurii​
​ % яяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя u’НБЂ​ такую формулу:​
​ «‘» — разделитель​Write #1, a​
​ что мне нужен.​ разрывы строк и​
​ табуляции)​ же процедура позволяет​ сохранить в отдельных​

​ нового листа, выберите​​ дат может быть​ CSV-файлах. Это может​ один анекдот распологался​спрашивает приезжий у​

​Guest​​SLAVICK​: Ну вы блин​ б °Б в​=СЦЕПИТЬ(A1; «;»; B1; «;»;​ апостроф (можно любой​Debug.Print a​ Я пытаюсь в​ другие символы будут​TXT​ изменить символ на​

​ текстовых файлах, повторив​​ вариант​ установлен формат М/Д/Г,​ потребоваться для обеспечения​

Конвертирование Excel файлов в txt (Иное/Other)

​ в одной строке,​​ одессита, — этот​
​: Работы прибавляется и​: Макросом… А чтобы​ даёте!​ p B​ C1)​ другой, можно сделать​Next lngRow​ файле данные.txt получить​ интерпретироваться правильно. Сохраняет​Сохраняет книгу в виде​ принятый по умолчанию.​ эту процедуру для​
​Новый лист​ а в Excel​ успешного выполнения операций​ а следующий был​ фонтан когда -​

​ возникают новые нерешенные​​ файл не так​:)
​Это-ж получается:​ °a А =​Формулу протягиваете до​ ссылкой на ячейку,​’ закрываем​ следующее:​ только активный лист.​

​ текстового файла, разделенного​​Общие сведения о формулах​ каждого из них.​.​ по умолчанию задан​ импорта и экспорта.​
​ в следующей строке.​ нибудь​
​ задачи. Подскажите, можно​ долго открывался можно​- написал программу​ њ Ї ј​ конца таблицы, копируете​ в которой будет​Close #1​:D
​1. Вторая колонка​CSV (MS-DOS)​ знаками табуляции, —​ в Excel​Откроется второе диалоговое окно​Нажмите кнопку​ формат Г/М/Д, или​

excelworld.ru

конвертировать excel в txt

​Примечание:​​ Разделитель в данном​бил? — Что​ ли как нить​ попробовать включить ручной​ в Паскале или​ = x ЊUp58​ столбец D, переходите​

​ прописан этот разделитель)),​​End Sub​ (Лист1) должна начинаться​CSV​

​ для использования в​​Рекомендации, позволяющие избежать появления​ с напоминанием о​

​ОК​​ необходимо преобразовать в​ Можно импортировать и экспортировать​ случае большая точка.​

​ за вопрос?! Он​​ сохранить сразу 40​ пересчет формул.​ С​ [email protected] Ќ «​ в пустой файл​

​ протягиваете формулу на​​RAN​ с 16 символа;​Сохраняет книгу в виде​ другой операционной системе​ неработающих формул​ том, что сохраняемый​.​ текст столбец чисел,​ до 1 048​
​StoTisteg​ бил, есть и​ файлов в формате​Это поможет если​- поменял расширение​ · Ъ 1​ в Блокноте, вставляете,​ сколько нужно строк​
​: Охо-хох!​2. Третья колона​ текстового файла, разделенного​

​ Microsoft Windows —​​Поиск ошибок в формулах​ лист может содержать​

​Приложение Excel сохранит внешний​​ содержащих начальные нули,​ 576 строк и​: Если работа разовая,​ будет бить!​ txt, не проводя​ там много формул.​ на.exe​ » И яђ​ сохраняете файл TXT.​

​ вниз. Затем этот​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Экспорт_данных()​

​ (Лист1)с 35;​ знаками запятой, —​ и гарантирует, что​

​Сочетания клавиш и горячие​ возможности, которые не​ диапазон данных в​ так, чтобы сохранить​

​ 16 384 столбцов.​​ открываете любой текстовый​•​ эти действия для​100 000 -​

planetaexcel.ru

Из excel в txt с разделителями

​- и мона​​ М A r​проблема заключается в следующем​
​ новый файл Сохранить​Dim lngRow As​3. Четвертая (Лист1)​ для использования в​ символы табуляции, разрывы​ клавиши в Excel​ поддерживаются текстовыми форматами​ выбранную позицию.​
​ их. Чтобы принудительно​
​Текстовый файл, созданный в​
​ редактор, поддерживающий регулярки​
​- Скажите, это​

​ каждого файла отдельно.​​ это не так​ запускать программу?​ i a l​ есть более 300​

​ как — в​​ Long​ с 55;​ операционной системе MS-DOS​ строк и другие​Функции Excel (по алфавиту)​ файлов. Если в​Если Microsoft Excel не​ запустить мастер импорта​

CyberForum.ru

Из txt в Excel (Word)

​ другой программе, можно​​ (тысячи их) и​ правда, что в​Guest​ и много у​~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~​ C y r​ файлов с разширением​ «тип файла» выбираете​’ Открываем файл​5. Никаких симолов​ — и гарантирует,​ символы будут интерпретироваться​
​Функции Excel (по категориям)​ новом текстовом файле​
​ преобразует столбец в​ текста, можно перед​ открыть как книгу​
​ делаете замены: rn​ Одессе отвечают на​: Нет, нельзя.​ меня файлики по​
​Для «новичка в​ 1 » И​ xls. их необходимо​ «Текстовые файлы с​
​ для сохранения​
​ («, ….) в​ что символы табуляции,​ правильно. Сохраняет только​В некоторых случаях вам​
​ нужно сохранить только​ необходимый формат, данные​ открытием файла изменить​
​ Microsoft Excel с​ -> пусто (повторять​ во — прос​В любом случае,​
​ 700 — 800тыс.​ таких сложных процессах»:​ яђ М A​
​ перевести в txt​
​ табуляцией».​Open «C:данные.txt» For​
​ файле быть не​ разрывы строк и​
​ активный лист.​
​ может потребоваться сохранить​ данные листа, нажмите​
​ можно преобразовать после​ его расширение на​ помощью команды​
​ пока число замен​вопросом? — А​ придётся перебирать все​ открываются меньше чем​
​- открой свои​
​ r i a​ с последующим изменением​ИринаИрина​
​ Output As #1​ должно.​ другие символы будут​Текст (Макинтош)​
​ книгу в другом​
​ кнопку​ импорта. Дополнительные сведения​ CSV или TXT​Открыть​
​ больше 0); •​ зачем Вам это​ файлы в цикле.​ за мин.​ таблицы в экселе​
​ l C y​
​ формата. на внутрений​
​: ОЙ, спасибо огромное​’ Записываем выделенную​Помогите пожалуйста​ интерпретироваться правильно. Сохраняет​
​TXT​ формате файла, например​Да​
​ см. в статьях​ или импортировать текстовый​. При открытии текстового​ -> rn потом​
​ надо знать? •​
​А в чем,​Подходящих макросов в​- выбери меню​ r 1 «​ формат одной из​ вроде бы все​ части таблицы в​

​RAN​​ только активный лист.​Сохраняет книгу в виде​ текстовом (TXT) или​. Если имеются сомнения​ Преобразование чисел из​ файл путем подключения​ файла в Microsoft​ спокойно открываете Экселем.​- Скажите, Вы​ собственно, проблема? Макрос​

excelworld.ru

​ сети более чем​

Задача: скопировать заданную область из таблицы Excel в текстовый файл. Данные из столбцов должны разделяться знаками табуляции, данные из строк — находиться в отдельных строках.

Есть несколько способов решения данной задачи. Ниже приведён VBA код трёх вариантов.

Open ActiveWorkbook.Path & “текстовый файл.txt” For Output As #1
bText = “Заголовок1" & vbTab & "Заголовок2" & vbTab & "Заголовок3”
 Print #1, bText
 For Each c In ActiveSheet.UsedRange
  Print #1, c.Address(0, 0), c.Value
 Next
Close #1

Для копирования в текстовый файл в формат Unicode:

Dim buffer As String
Open "C:Unicode.txt" For Binary As #1
 buffer = StrConv(strText2Write, vbUnicode) + _
  StrConv(vbCrLf, vbUnicode)
 Put #1, , buffer
Close #1

Ещё более простой способ сохранения в текстовый файл в юникоде:

path = "C:"
ActiveWorkbook.SaveAs Filename:=path & "Имя_файла.txt", _
 FileFormat:=xlUnicodeText
ActiveWorkbook.Close True

Ещё варианты:

  • How to write out Unicode text files in VBA
  • Save/Export Worksheet as unicode txt file

Order_macros

Комментировать

This VBA Program reads an Excel Range (Sales Data) and write to a Text file (Sales.txt)

Excel VBA code to read data from an Excel file (Sales Data – Range “A1:E26”).  Need two “For loop” for rows and columns. Write each value with a comma in the text file till the end of columns (write without comma only the last column value). Do the above step until reach the end of rows. 

Sales Data in Excel: 5 columns and 25 rows

Sales Data

VBA code to create a text file as below

VBA Code:

  • Declaring Variables :  
Variable Data Type Comments
myFileName  String Output text file (Full path with file name)
rng Range Excel range to read 
cellVal Variant Variable to assign each cell value
row Integer Iterate rows
col Integer Iterate columns
'Variable declarations
Dim myFileName As String, rng As Range, cellVal As Variant, row As Integer, col As Integer
  • Initialize variables:
    • myFileName: The file name with the full path of the output text file
    • rng: Excel range to read data from an excel.
'Full path of the text file
myFileName = "D:ExcelWriteTextsales.txt"
'Data range need to write on text file
Set rng = ActiveSheet.Range("A1:E26")

Open the output text file and assign a variable “#1”

'Open text file
Open myFileName For Output As #1

‘Nested loop to iterate both rows and columns of a given range eg: “A1:E26” [5 columns and 26 rows]

'Number of Rows
For row = 1 To rng.Rows.Count
   'Number of Columns
   For col = 1 To rng.Columns.Count

Assign the value to variable cellVal 

cellVal = rng.Cells(row, col).Value

Write cellVal with comma.  If the col is equal to the last column of a row.  write-only value without the comma.

'write cellVal on text file
    If col = rng.Columns.Count Then
        Write #1, cellVal 
    Else
        Write #1, cellVal, 
    End If

Close both for loops

   Next col
Next row

Close the file

Close #1

Approach:

Step 1: Add a shape (Create Text File) to your worksheet 

Step 2: Right-click on “Create a Text file” and “Assign Macro..”

Step 3: Select MacroToCreateTextFile

Step 4: Save your excel file as “Excel Macro-Enabled Workbook”  *.xlsm

Step 5: Click “Create Text file

Понравилась статья? Поделить с друзьями:
  • Сохраните документ microsoft excel под любым именем в нужную директорию
  • Сохраните в word статью 495 гражданского кодекса рф часть вторая укажите количество абзацев в этой
  • Сохраните в word статью 495 гражданского кодекса рф часть вторая укажите количество абзацев в это
  • Сохраните в word статью 495 гражданского кодекса рф укажите количество абзацев в этой статье
  • Сохраните в word статью 19 конституции рф с информацией об источнике