![]() |
Модераторы: mihanik |
![]() ![]() ![]() |
|
cASSAndra |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 29.11.2007 Репутация: нет Всего: нет |
добрый день, у меня такая вот ситуация. есть n-ное количество текстовых файлов, данные в которых разделены символами табуляции и новой строки. мне надо все эти n файлов засунуть в один документ Excel на разные листы. как этот файл засовывать в excel построчно я нашла, но так слишком долго будет. не существует ли какой-то команды типа loadfile, чтобы не по ячейкам все копировать, а сразу весь документ добавлять? как с cтравливанием xml и xslt?
![]() |
|||
|
||||
kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: 3 Всего: 12 |
Workbooks.OpenText?
-------------------- (С) kapbepucm |
|||
|
||||
cASSAndra |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 29.11.2007 Репутация: нет Всего: нет |
может быть и так. а с его помощью можно выводить несколько файлов на несколько листов в одну и ту же книгу?
|
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
По одному. Вручную.
Или написАть макросик, который сделает это программно. Но тебе быстрее вручную. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
cASSAndra |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 29.11.2007 Репутация: нет Всего: нет |
![]() ситуация такая. пишу отчеты в крупной банковской системе, которая у нас почти не используется. хитрыми манипуляциями получаю список проводок за день/месяц/квартал в разрезе по всем отделениям банка (неограниченное число). сколько отделений, столько текстовых файлов получается. текстовый формат - дурацкое требование банка. иначе вывела бы все данные в xml файлы, создала xslt шаблон и просто потом стравила бы их, получив документ Excel за 2 секунды. вся фишка в том, что в системе это пишется в vb скриптах и б'ольшая часть того что можно найти по .NET естественно не катит. нашла пример с OpenText пример помоему таким же макаром можно и через просто Оpen открыть - все нормально выводится. но мне надо несколько документов загнать в одну книгу и на разные листы (для каждого отделения - свой текстовый файл и свой лист в Excel соответственно). - это чтобы пользователю нагляднее смотреть было, если отчет вручную запустят, а не в процедурах закрытия дня. при запуске в закрытии дня этот Excel никому нафиг не нужен ![]() может есть что-то типа Excel.Workbooks(1).Worksheets(i).Open(Path(i))? если построчно писать - отчет систему повесить может часа на 2 думаю - надо же по всем отделениям за квартал проводки выводить - ато и за год, если кому приспичит ![]() Это сообщение отредактировал(а) cASSAndra - 19.9.2008, 19:19 |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
Ну собсно делаем макросик...
Список файлов по шаблону в каталоге получить (думаю, свалить их в один каталог тебе несложно) - дело плёвое. Dir(). А еще лучше - подергать за FSO.Files. А далее собсно обертываем это дело в цикл. Получили очередное имя файла. Отрезаем расширение. Создаем НОВЫЙ (!!!) лист с таким именем. Делаем его активным. Делаем на него импорт текстового файла... Полученный макрос запихиваем в девственно-чистую книгу с одним листиком и стартуем - по окончании его работы книга набита листами с данными. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
cASSAndra |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 29.11.2007 Репутация: нет Всего: нет |
так... из всего вышесказанного, мне надо всего-то сначала активировать нужный лист...
Excel.WorkBook(1).WorkSheet(i).Active Excel.WorkBook(1).Open(Path(i)) спасибо, попробую. я про активацию не знала, так как вообще с Excel раньше не работала. список файлов получать не надо - он в массиве лежит ![]() ЗЫ пишется это все не в макросах Excel, а в хитрой системе по имени Temenos T24 ![]() |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
Достаточно
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
cASSAndra |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 29.11.2007 Репутация: нет Всего: нет |
ну вот после этого видимо надо написать
он создал книгу с кучей страниц с нужными именами, а все файлы открыл в отдельных документах ![]() |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
Конечно нет. Open - это открыть в новом документе. Что просишь - то и получаешь. Надо
Ну в принципе можно натолкать еще груду необходимого кода - специфицирующего, форматирующего и пр. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
cASSAndra |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 29.11.2007 Репутация: нет Всего: нет |
а эту QueryTables объявлять как-то надо? пишет ошибка в скрипте...
может как-то листы копировать можно из одной книги в другую? написала
тоже ошибка в скрипте ![]() Это сообщение отредактировал(а) cASSAndra - 22.9.2008, 11:49 |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
О мамма миа!!!
Сервис - макрос - начать запись Данные - импорт внешних данных - импортировать данные Выполните импорт файла на текущий лист Сервис - макрос - остановить запись Сервис - макрос - макросы Выбрать свежезаписанный макрос Изменить. И изучайте... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
cASSAndra |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 29.11.2007 Репутация: нет Всего: нет |
написала я по образцу макроса - ошибок не выводит, но и ничерта ничего не добавляет в документ. тут не полноценный VB, а какойто его обрубок. б'ольшая половина стандартных команд просто игнорируется...
|
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
А ссылку на файл в Path(i) небось относительную даем, а? Тут вообще не VB, а VBA. Это другой язык. Хотя синтаксически очень похож. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
cASSAndra |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 29.11.2007 Репутация: нет Всего: нет |
да я и впеременной передать пробовала и так забить...
вот получилось скопировать лист из одной книги в другую таким способом
пожалуй так и сделаю. в любом случае - спасибо за помощь. вот про запись макросов - ценная информация. я про это раньше и не слышала ![]() Это сообщение отредактировал(а) cASSAndra - 22.9.2008, 14:50 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Программирование, связанное с MS Office" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |