Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


Сообщения: 23
Благодарности: 0

Профиль | Отправить 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