|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.02.2010, 12:03 | #1 |
Регистрация: 21.01.2010
Сообщений: 6
|
Преобразование числового массива в набор текстовых файлов
Добрый день (вечер, ночь) Всем.
Помогите разобраться с кодом. Вкратце задача такая: Есть текстовый файл с цифровым массивом представленным в виде таблицы (если конкретней, то результаты розыгрышей лотереи 6 из 49 за несколько лет) около 9000 строк. Эту таблицу надо разбить на небольшие таблицы 6х20 (6 столбцов по 20 строк) и поместить каждую отдельно в текстовый файл. Я написал программку в Excel для выполнения этой задачи. Работает так, сначала вручную открываем в Excel весь массив (общий текстовый файл), преобразовывая его в таблицу, после этого копируем весь массив в файл с макросом и запускаем его на обработку. В результате работы создается новая папка с файлами 1.txt, 2.txt и т.д. по количеству столбцов. Причем разбиение на столбцы организовано так, что программа сначала высчитывает общее количество столбцов и создает их таким образом что, если, допустим, столбцов 20 то первые 20 строк будут являться первыми строками 20-ти столбцов, (т.е. 1 файл будет содержать строки 1, 21, 41 и т.д.). Теперь ближе к теме. Для создания каждого столбца-файла макрос открывает новую книгу, создает в ней таблицу 6х20, сохраняет в текстовый файл и закрывает, затем второй и т.д. Помощи хотелось бы вот в чем: Как это реализовать в пределах одной книги, я сначала так и хотел сделать, но знаний не хватило, по форуму поискал, не нашел, возможно плохо искал. Спасибо всем кто прочитал. Макрос в общем-то свою работу делает, но мне кажется алгоритм работы не совсем нормальный (кривой), я думаю можно это как-то проще решить). Хотелось бы услышать мнение профи. Код:
Ну и два файла в приложении. P.S. При работе программы ни один котенок не пострадал |
13.02.2010, 21:18 | #2 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Только для новых Остапов , и потому,что котенок жив.
И не насилуйте Ексель такими задумками Смотрите вложение,укажете при запросе полный путь к файлу. 1% навара на бочку
Анализ,обработка данных Недорого
Последний раз редактировалось doober; 13.02.2010 в 22:33. |
14.02.2010, 15:06 | #3 |
Регистрация: 21.01.2010
Сообщений: 6
|
Спасибо большое, я предполагал, что сия задача проще решается скриптом, но увы по скриптам у меня знаний еще меньше чем по VBA. Если не трудно подскажите как теперь этот скрипт переделать чтобы он создавал не 20 текстовых файлов, а создавал N-файлов которые бы содержали 20 строк, где N = количество строк в текстовом файле деленное на 20, как вот здесь:
Код:
|
15.02.2010, 06:47 | #5 |
Регистрация: 21.01.2010
Сообщений: 6
|
Спасибо большое, это уже больше похоже, только первый файл криво создается, ну да ладно будем разбираться и править сами.
А не подскажите, есть оболочки для пошаговой проверки и отладки работы скрипта Да я бы поделился, если бы выигрыш был, а так мало того, что эта лотерея проводится в Германии (в текстовом файле в начале присутствуют буковки DE), так я этим и не увлекаюсь. Мне интересен сам алгоритм работы. Прецедент конечно был, знакомый спросил можно ли на Excel'e сделать такое, я попытался изобразить, но у меня возникли большие сомнения по поводу правильности использования Excel'я. Поэтому я и обратился к знающим людям. Спасибо большое за ответы. |
15.02.2010, 07:47 | #6 | |
Регистрация: 21.01.2010
Сообщений: 6
|
Цитата:
Редактор VBScript |
|
15.02.2010, 11:42 | #7 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Исправил кривизну
Анализ,обработка данных Недорого
|
15.02.2010, 12:13 | #8 |
Регистрация: 21.01.2010
Сообщений: 6
|
Спасибо большое, я наверно уже надоел со своими расспросами, полдня сижу разбираюсь с кодом, если можно кое что уточнить
1. Строка c = 0 по моему лишняя? 2. Строк в файле 8060 т.е. файлов должно быть 403, а их 404, и не совсем понятно откуда скрипт еще 20 строк набрал? 3. Оператор vbCr - это перенос строки? А можно его заменить на знак табуляции. |
15.02.2010, 12:19 | #9 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
с=0 - это мусор.
Лишний файл-это как раз выиграшная комбинация. Вставте весь код в кнопку в Екселе и тестируйте.
Анализ,обработка данных Недорого
|
15.02.2010, 17:43 | #10 |
Регистрация: 21.01.2010
Сообщений: 6
|
Да я его уже в PrimalScript тестировал, пока не понятны действия некоторых операторов, но думаю разберусь, литературу уже нашел.
Еще раз спасибо за помощь. Но проблема еще осталась. Дело в том что эти файлы надо загружать в программу "ЛотоПомошник" (это я с помощью ее тестирую результат). При попытке загрузить данные в программу, она воспринимает их как строку и отказывается с ними работать, а вот файлы которые я делаю в Excel, она воспринимает на ура (как таблицу). Но это уже не важно, я еще со скриптом поковыряюсь, может просветление наступит в голове . Польза все равно будет. P.S. Еще небольшой вопросик. Макрос я писал в Excel 2007, а как он будет себя вести в Excel 2003? Имеется в виду на другом компьютере, на котором MSO 2007 отродясь не стояло. Осталось выбрать какой из 400-х сотен Последний раз редактировалось roy71; 15.02.2010 в 17:47. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сортировка двумерного числового массива «спиралью» | vicvtor | Помощь студентам | 2 | 06.07.2011 09:10 |
Паскаль. процедура сортировки числового массива методом выбора | Оксаночка:) | Помощь студентам | 2 | 24.08.2009 11:41 |
Обработка текстовых файлов | Frenki | Помощь студентам | 4 | 17.05.2009 14:52 |
Конец числового массива char | Байт | Общие вопросы C/C++ | 4 | 04.02.2009 21:19 |
Сравнение текстовых файлов | BR17UY | Общие вопросы Delphi | 15 | 07.05.2007 20:18 |