![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] обработка файлов при помощи модуля Excel.au3 |
|
[решено] обработка файлов при помощи модуля Excel.au3
|
Новый участник Сообщения: 23 |
задача такая. автоит запускает некую внешнюю программу, которая последдовательно выгружает 9 экселевских файлов, каждый из которых нужно сохранить в определенное место с определенным именем. первоначально это сохранение делалось при помощи Send.
WinActivate("Microsoft Excel") Send("{Alt}{ф}{с}") Send($path & "имяфайла.xls") Send("{Enter}") WinClose("Microsoft") теперь кажется более логичным (и быстрым!) сделать следующее $oExcel2 = ObjGet("", "Excel.Application") ; _ExcelBookSaveAs($oExcel, $path_d & "имяфайла", "xls") _ExcelBookClose($oExcel,1, 0) Но происходит следующее. Первый выгружаемый файл сохраняется и закрывается без проблем. Остальные - не сохраняются и не закрываются! Автоит якобы сохраняет что-то - если посмотреть переменную $s=_ExcelBookSaveAs($oExcel, $path_d & "имяфайла", "xls"), и эта перемення 1! а не ноль. Хэндлы окон эксель тоже определяет безошибочно! в первый эксель-файл он даже может записать что угодно и прочесть любую ячейку с него, а вот начиная со второго - мертвый номер, что я только не делала - не "видит"он последующих выгружаемых файлов и все. и ничего не помогает. Подскажите, где копать? буду благодарна за любую подсказку. |
|
Отправлено: 10:23, 23-01-2009 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Во-первых, коды нужно обрамлять соот-ющими тегами ([code]).
По поводу задачи. Не ясно как выгружаются остальные файлы, выложите работающий пример, где происходит сохранение и выгрузка. |
------- Отправлено: 14:29, 23-01-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 23
|
Профиль | Отправить PM | Цитировать Добрый день!
после долгих раздумий и проб задача была решена. Выкладываю, может быть кому-то пригодится. Команда $oExcel = ObjGet("", "Excel.Application") оказыватся с "длительным" действием, и что бы потом не открывалось в экселе - первая открытая книга всегда будет подразумеваться в последующих действиях. Верятно, что-то "застревает" в пямяти. Решение - после обработки первого эксель-файла поставить строку - $oExcel="". И все работает Все остальные книги обрабатываются должным образом. Так что это? обнуление переменных? (получатеся очистка объектов). Наверное это логично - очищать память от использованного. WinWaitActive("Microsoft Excel - Книга1","", 0);жду окна WinActivate("Microsoft Excel - Книга1","") If WinExists("Microsoft Excel - Книга1") Then WinActivate("Microsoft Excel - Книга1","") $oExcel = ObjGet("", "Excel.Application") _ExcelBookSaveAs($oExcel, "C:\папка\наим1", "xls",0,1) _ExcelBookClose($oExcel,1, 0) EndIf $oExcel="" ; вот она, эта волшебная строка ![]() |
Отправлено: 11:41, 09-02-2009 | #3 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Конвертация видео файлов при помощи видеокарты. | Jo-iZo | Видеокарты | 2 | 10-07-2009 21:48 | |
Разное - [решено] Не изменить ассоциацию файлов CSV с Excel на TablePro | truvo | Microsoft Windows 2000/XP | 3 | 26-07-2008 08:44 | |
[решено] Скриптовая обработка файлов | dmon_s | Программирование в *nix | 3 | 31-08-2007 02:11 | |
Внесение изменений во все листы книги Excel при помощи VB макросов | Vadikan | Программирование и базы данных | 4 | 29-12-2005 02:10 | |
Решено | Проблема с импортом ключей реестра при помощи REG файлов | Fanzuga | Автоматическая установка Windows 2000/XP/2003 | 3 | 17-09-2005 13:55 |
|