|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
31.01.2010, 09:35 | #1 |
Пользователь
Регистрация: 26.01.2010
Сообщений: 13
|
Макрос для передачи персанальных данных
Я, студент,по специальности защита информации, пишу диплом, по защите персональных данных в пенсиооном фонде. Для удобстава передачи персональных данных хочу представить макрос, но в програмировании слаб. Вы мне уже помогали, дали этот код:
Sub Create_TXT_Files() Dim fso As Object, rCell As Range With CreateObject("Scripting.FileSystemO bject") For Each rCell In Range(Cells(1, 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1)) If rCell <> "" Then Set fso = .CreateTextFile("C:\" & rCell & ".txt", True) Next rCell End With End Sub Этот код создает txt документы, с названиями из содержимого ячеек столбца "А", пока ячейка не пуста. Помогите пожалуйста усложнить код, так что бы название документа состояла четко из содержимого ячек А,B,С.(в этих ячейках ФИО) в строке, и документы создавались до пустой строки. Плюс, макрос должен закидывать все содержимое строки, в созданный им документ из ячеек "А,В,С,D....n". В результате из эллектронной таблице с пенсионными данными, в которой записаны ФИО в ячейках A,B,C, и с другими данными, после запуска макроса, мы должны получить столько txt документов, с названием ФИО клиента и содережимым из строки присущей клиенту в диапозоне A,B,C...n, сколько таких клиентов у нас вбито в данную таблицу. Еще нужен второй макрос, который наоборот, из txt документов, переносит все содержимое в эллектронную таблицу. |
31.01.2010, 17:27 | #2 |
Форумчанин
Регистрация: 21.08.2007
Сообщений: 292
|
Я вот тут написал, но через цикл, может кто подскажет, как без цикла сделать? (цикл по столбцам от А до J, комментарии в коде )
Код:
Последний раз редактировалось Pavel55; 31.01.2010 в 17:31. |
31.01.2010, 20:23 | #3 |
Пользователь
Регистрация: 26.01.2010
Сообщений: 13
|
попробую)) спасибо
|
31.01.2010, 21:08 | #4 |
Пользователь
Регистрация: 26.01.2010
Сообщений: 13
|
работает))
а может лучше каждую ячейку копировать в новую страку? что бы потом не было затруднений в обратном програмном переводе, из txt в эксель
|
31.01.2010, 21:14 | #5 |
Пользователь
Регистрация: 26.01.2010
Сообщений: 13
|
вот тут внимание обратите,
Set fsoTextStream = fso.CreateTextFile("C:\Temp\" & rCell & " " & rCell.Offset(, 1) & " " & rCell.Offset(, 2) & ".txt", True) если папки Temp нет, то будет ошибка. поэтому гадо указывать сушествующей адрес. |
31.01.2010, 21:26 | #6 |
Форумчанин
Регистрация: 21.08.2007
Сообщений: 292
|
1) это не лучшая идея копировать каждую ячейку копировать в новую строку
2) про путь сохранения C:\Temp\ - укажите свой путь (я тестировал макрос и у меня файлы сохранялись в C:\Temp) 3) Если вы посмотрите текстовый файл, там каждое значение ячейки отделяется точкой с запятой. В связи с этим вы можете открыть этот текстовый файл в Excel (меню Файл - Открыть...), в открывшемся окошке выбрать "Тип файлов: Текстовые файлы (*.prn, *.txt, *.csv), щёлкните на название файла и нажмите кнопку "Открыть". У вас откроется окошко "Мастер текстов (импорт) - шаг 1 из 3" - выберите "с разделителями" и нажмите Далее откроется "Мастер текстов (импорт) - шаг 2 из 3" - укажите символ-разделитель "точка с запятой" и нажмите Далее откроется "Мастер текстов (импорт) - шаг 3 из 3" - нажмите Готово Последний раз редактировалось Pavel55; 31.01.2010 в 21:31. |
31.01.2010, 22:33 | #7 | |
Участник клуба
Регистрация: 17.07.2009
Сообщений: 1,088
|
Цитата:
Код:
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru |
|
31.01.2010, 22:49 | #8 |
Пользователь
Регистрация: 26.01.2010
Сообщений: 13
|
Этот проще)) а наоборот, из кучи подобных txt в ексель, как будет?
|
31.01.2010, 23:03 | #9 |
Пользователь
Регистрация: 26.01.2010
Сообщений: 13
|
а на веб мани можно же просто из терминал кинуть?
Последний раз редактировалось Evroclidon; 01.02.2010 в 10:26. |
31.01.2010, 23:23 | #10 |
Участник клуба
Регистрация: 17.07.2009
Сообщений: 1,088
|
Кардинально измениться код. Необходимо отрыть определённые файлы или они заранее неизвестны? Можно выбирать файлы через диалоговое окно или просто записать в массив имена файлов и затем их обрабатывать по очереди.
Записывать данные из .txt-файлов как? Разделитель известен? Записывать новую книгу или уже имеющуюся? Все файлы на один лист?
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Макрос в эксел или PHP обработчик данных для формата .xls | panashka | Microsoft Office Excel | 2 | 02.11.2009 15:56 |
Формула или макрос для работы с массивом данных | dondavis | Microsoft Office Excel | 3 | 21.09.2009 05:14 |
Как написать макрос для копирования диапазонов данных с приращением | Yevgen_pro | Microsoft Office Excel | 0 | 09.09.2009 16:12 |
Кодировка передачи данных в Word | Flame_of_Death | Общие вопросы Delphi | 3 | 14.07.2009 12:25 |
сжатие при передачи данных | Makarov | Работа с сетью в Delphi | 5 | 17.01.2008 21:41 |