Экспорт данных из Excel в txt
A_3485
Дата: Вторник, 06.05.2014, 12:17 |
Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 146
Репутация:
0
±
Замечаний:
40% ±
2007
Уважаемы формучане добрый день! Помогите пожалуйста разобраться с макросом экспорта содержимого Лист1 в файл txt. Из блуждания по сети нашел код и попробовал его применить к моим данным: [vba]Код
Sub Экспорт_данных() Dim lngRow As Long ' Открываем файл для сохранения Open "C:\данные.txt" For Output As #1 ' Записываем выделенную части таблицы в файл (построчно) For lngRow = 1 To 3 ' Записываем содержимое всех столбцов строки lngRow For intCol = 1 To 1 Write #1, Selection.Cells(lngRow, 1).Value & " " & Selection.Cells(lngRow, 2).Value & " " & Selection.Cells(lngRow, 3).Value & " "; Selection.Cells(lngRow, 4).Value; Next intCol ' следующая строка s = "" Print #1, s Next lngRow ' закрываем Close #1 End Sub
[/vba] Итог работы получается совсем не тот что мне нужен. Я пытаюсь в файле данные.txt получить следующее: 1. Вторая колонка (Лист1) должна начинаться с 16 символа; 2. Третья колона (Лист1)с 35; 3. Четвертая (Лист1) с 55; 5. Никаких симолов (", ....) в файле быть не должно. Помогите пожалуйста
Уважаемы формучане добрый день! Помогите пожалуйста разобраться с макросом экспорта содержимого Лист1 в файл txt. Из блуждания по сети нашел код и попробовал его применить к моим данным: [vba]Код
Sub Экспорт_данных() Dim lngRow As Long ' Открываем файл для сохранения Open "C:\данные.txt" For Output As #1 ' Записываем выделенную части таблицы в файл (построчно) For lngRow = 1 To 3 ' Записываем содержимое всех столбцов строки lngRow For intCol = 1 To 1 Write #1, Selection.Cells(lngRow, 1).Value & " " & Selection.Cells(lngRow, 2).Value & " " & Selection.Cells(lngRow, 3).Value & " "; Selection.Cells(lngRow, 4).Value; Next intCol ' следующая строка s = "" Print #1, s Next lngRow ' закрываем Close #1 End Sub
[/vba] Итог работы получается совсем не тот что мне нужен. Я пытаюсь в файле данные.txt получить следующее: 1. Вторая колонка (Лист1) должна начинаться с 16 символа; 2. Третья колона (Лист1)с 35; 3. Четвертая (Лист1) с 55; 5. Никаких симолов (", ....) в файле быть не должно. Помогите пожалуйста A_3485
Сообщение отредактировал A_3485 - Вторник, 06.05.2014, 12:31
Ответить
Сообщение Уважаемы формучане добрый день! Помогите пожалуйста разобраться с макросом экспорта содержимого Лист1 в файл txt. Из блуждания по сети нашел код и попробовал его применить к моим данным: [vba]Код
Sub Экспорт_данных() Dim lngRow As Long ' Открываем файл для сохранения Open "C:\данные.txt" For Output As #1 ' Записываем выделенную части таблицы в файл (построчно) For lngRow = 1 To 3 ' Записываем содержимое всех столбцов строки lngRow For intCol = 1 To 1 Write #1, Selection.Cells(lngRow, 1).Value & " " & Selection.Cells(lngRow, 2).Value & " " & Selection.Cells(lngRow, 3).Value & " "; Selection.Cells(lngRow, 4).Value; Next intCol ' следующая строка s = "" Print #1, s Next lngRow ' закрываем Close #1 End Sub
[/vba] Итог работы получается совсем не тот что мне нужен. Я пытаюсь в файле данные.txt получить следующее: 1. Вторая колонка (Лист1) должна начинаться с 16 символа; 2. Третья колона (Лист1)с 35; 3. Четвертая (Лист1) с 55; 5. Никаких симолов (", ....) в файле быть не должно. Помогите пожалуйста Автор - A_3485 Дата добавления - 06.05.2014 в 12:17
RAN
Дата: Вторник, 06.05.2014, 12:44 |
Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
[vba]Код
Sub qq() a = Cells(1, 1).Value & String$(15 - Len(Cells(1, 1).Value), " ") & _ Cells(1, 2).Value & String$(14 - Len(Cells(1, 2).Value), " ") & _ Cells(1, 3).Value & String$(20 - Len(Cells(1, 3).Value), " ") & _ Cells(1, 4).Value Debug.Print a End Sub
[/vba] 0000000001 -10000 0 SEL Сожранные пробелы заменил звездочкой 0000000001*****-10000********0*******************SEL
[vba]Код
Sub qq() a = Cells(1, 1).Value & String$(15 - Len(Cells(1, 1).Value), " ") & _ Cells(1, 2).Value & String$(14 - Len(Cells(1, 2).Value), " ") & _ Cells(1, 3).Value & String$(20 - Len(Cells(1, 3).Value), " ") & _ Cells(1, 4).Value Debug.Print a End Sub
[/vba] 0000000001 -10000 0 SEL Сожранные пробелы заменил звездочкой 0000000001*****-10000********0*******************SEL RAN
Быть или не быть, вот в чем загвоздка!
Сообщение отредактировал RAN - Вторник, 06.05.2014, 12:46
Ответить
Сообщение [vba]Код
Sub qq() a = Cells(1, 1).Value & String$(15 - Len(Cells(1, 1).Value), " ") & _ Cells(1, 2).Value & String$(14 - Len(Cells(1, 2).Value), " ") & _ Cells(1, 3).Value & String$(20 - Len(Cells(1, 3).Value), " ") & _ Cells(1, 4).Value Debug.Print a End Sub
[/vba] 0000000001 -10000 0 SEL Сожранные пробелы заменил звездочкой 0000000001*****-10000********0*******************SEL Автор - RAN Дата добавления - 06.05.2014 в 12:44
A_3485
Дата: Вторник, 06.05.2014, 14:05 |
Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 146
Репутация:
0
±
Замечаний:
40% ±
2007
Заменил на свои данные. Ничего не получилось: [vba]Код
Sub Экспорт_данных() Dim lngRow As Long ' Открываем файл для сохранения Open "C:\данные.txt" For Output As #1 ' Записываем выделенную части таблицы в файл (построчно) For lngRow = 1 To 3 a = Cells(lngRow, 1).Value & String$(15 - Len(Cells(1, 1).Value), " ") & _ Cells(lngRow, 2).Value & String$(14 - Len(Cells(1, 2).Value), " ") & _ Cells(lngRow, 3).Value & String$(20 - Len(Cells(1, 3).Value), " ") & _ Cells(lngRow, 4).Value Write #1, a Debug.Print a Next lngRow ' закрываем Close #1 End Sub
[/vba]
Заменил на свои данные. Ничего не получилось: [vba]Код
Sub Экспорт_данных() Dim lngRow As Long ' Открываем файл для сохранения Open "C:\данные.txt" For Output As #1 ' Записываем выделенную части таблицы в файл (построчно) For lngRow = 1 To 3 a = Cells(lngRow, 1).Value & String$(15 - Len(Cells(1, 1).Value), " ") & _ Cells(lngRow, 2).Value & String$(14 - Len(Cells(1, 2).Value), " ") & _ Cells(lngRow, 3).Value & String$(20 - Len(Cells(1, 3).Value), " ") & _ Cells(lngRow, 4).Value Write #1, a Debug.Print a Next lngRow ' закрываем Close #1 End Sub
[/vba] A_3485
Сообщение отредактировал A_3485 - Вторник, 06.05.2014, 14:06
Ответить
Сообщение Заменил на свои данные. Ничего не получилось: [vba]Код
Sub Экспорт_данных() Dim lngRow As Long ' Открываем файл для сохранения Open "C:\данные.txt" For Output As #1 ' Записываем выделенную части таблицы в файл (построчно) For lngRow = 1 To 3 a = Cells(lngRow, 1).Value & String$(15 - Len(Cells(1, 1).Value), " ") & _ Cells(lngRow, 2).Value & String$(14 - Len(Cells(1, 2).Value), " ") & _ Cells(lngRow, 3).Value & String$(20 - Len(Cells(1, 3).Value), " ") & _ Cells(lngRow, 4).Value Write #1, a Debug.Print a Next lngRow ' закрываем Close #1 End Sub
[/vba] Автор - A_3485 Дата добавления - 06.05.2014 в 14:05
RAN
Дата: Среда, 07.05.2014, 16:52 |
Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Охо-хох! [vba]Код
Sub Экспорт_данных() Dim lngRow As Long ' Открываем файл для сохранения Open "C:\данные.txt" For Output As #1 ' Записываем выделенную части таблицы в файл (построчно) For lngRow = 1 To 3 a = Cells(lngRow, 1).Value & String$(15 - Len(Cells(lngRow, 1).Value), " ") & _ Cells(lngRow, 2).Value & String$(14 - Len(Cells(lngRow, 2).Value), " ") & _ Cells(lngRow, 3).Value & String$(20 - Len(Cells(lngRow, 3).Value), " ") & _ Cells(lngRow, 4).Value Print #1, a 'Debug.Print a не отличие, просто не нужно Next lngRow ' закрываем Close #1 End Sub
[/vba] Называется - найди два отличия
Охо-хох! [vba]Код
Sub Экспорт_данных() Dim lngRow As Long ' Открываем файл для сохранения Open "C:\данные.txt" For Output As #1 ' Записываем выделенную части таблицы в файл (построчно) For lngRow = 1 To 3 a = Cells(lngRow, 1).Value & String$(15 - Len(Cells(lngRow, 1).Value), " ") & _ Cells(lngRow, 2).Value & String$(14 - Len(Cells(lngRow, 2).Value), " ") & _ Cells(lngRow, 3).Value & String$(20 - Len(Cells(lngRow, 3).Value), " ") & _ Cells(lngRow, 4).Value Print #1, a 'Debug.Print a не отличие, просто не нужно Next lngRow ' закрываем Close #1 End Sub
[/vba] Называется - найди два отличия RAN
Быть или не быть, вот в чем загвоздка!
Сообщение отредактировал RAN - Среда, 07.05.2014, 17:04
Ответить
Сообщение Охо-хох! [vba]Код
Sub Экспорт_данных() Dim lngRow As Long ' Открываем файл для сохранения Open "C:\данные.txt" For Output As #1 ' Записываем выделенную части таблицы в файл (построчно) For lngRow = 1 To 3 a = Cells(lngRow, 1).Value & String$(15 - Len(Cells(lngRow, 1).Value), " ") & _ Cells(lngRow, 2).Value & String$(14 - Len(Cells(lngRow, 2).Value), " ") & _ Cells(lngRow, 3).Value & String$(20 - Len(Cells(lngRow, 3).Value), " ") & _ Cells(lngRow, 4).Value Print #1, a 'Debug.Print a не отличие, просто не нужно Next lngRow ' закрываем Close #1 End Sub
[/vba] Называется - найди два отличия Автор - RAN Дата добавления - 07.05.2014 в 16:52
A_3485
Дата: Среда, 07.05.2014, 17:54 |
Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 146
Репутация:
0
±
Замечаний:
40% ±
2007
Огромное СПАСИБО.
Ответить
Сообщение Огромное СПАСИБО. Автор - A_3485 Дата добавления - 07.05.2014 в 17:54