Что нового

[Автоматизация] OpenOffice: JRE повреждена.

akoulev

Новичок
Сообщения
169
Репутация
2
Дабы не выкладывать длиннющий нерабочий код, лучше опишу словами.
Есть пакет OpenOffice 3.2.1; прекрасно работает. JRE 1.6.0_19.
Запускаю Scalk - прекрасно работает.
Открываю файл .ods - прекрасно работает.
Могу открыть этот же файл ярлыком с раб.стола - прекрасно работает.
Ну, т.е., ВООБЩЕ никаких проблем.

Проблемы начинаются ТОЛЬКО с AutoIT (3.3.6.1).
Запускаю Scalk из скрипта - прекрасно работает. (Последнее, что работает. :smile: )
При попытке открыть собственно файл .ods или же ярлык, ведущий к этому же файлу, - имеем:
42913d145982.png


Как это победить? Догадываюсь, что надо ещё что-то рассказать, но никак не соображу, что именно. :smile: Спрашивайте - распишу как пасхальное яичко.

А, да; что происходит после появления "картинки": да, вообще-то, ничего, - висим-с. Кликаю на кнопку, коей оснащена "картинка" - и, словно бы и не кликал. Ти-ши-на. Через диспетчер задач снимаю soffice.bin и soffice.exe - и офис снимается; при 1-м же запуске выясняется, что файл "повреждён" - но 100%-но востанавливается.

Да, кстати, с предыдущей версией офиса были те же приключения: обходил путём запуска сразу ярлыка с раб. стола, программным кликом на ём. Но это, понятно, бардак: перетащили ярлык - и ку-ку, скрипт недоумевает :wacko:...

Ай нид хелп, плиз! :smile:
 

axlwor

Скриптер
Сообщения
657
Репутация
147
покажи хоть часть того как запускаешь?
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
У меня Open Office 3.1.1
Так запускается
Код:
ShellExecute("D:\111.ods")

И так тоже
Код:
ShellExecute("C:\Documents and Settings\user_01\Рабочий стол\Ярлык для 111.ods.lnk")
 
Автор
A

akoulev

Новичок
Сообщения
169
Репутация
2
Код:
WinMinimizeAll()
			Run ("C:\Program Files\Open Office\OpenOffice.org 3\program\scalc.exe"); Не играет, пока проблема "JRE неисправно." - играет-играет, как OO 3.2.1 стал!
			;MsgBox(0, "Статус:", "Запускаем .LNK!", 2)
			;Run ("C:\Documents and Settings\Пользователь.CM00222\Рабочий стол\Телефонный справочник.ods.lnk"); Да не пашет чёртов .LNK!!!
			Sleep(111)
			BlockInput(0)
					While 1
						;Sleep(111)
														$brom=PixelChecksum ( 592, 298, 1013, 427, 16 )
														;If $brom=1879266296 Then ExitLoop
														Sleep(111)
														If $brom = 3943056708 or $brom = 1879266296 or $brom = 1401666047 or $brom = 1533000194 Then ExitLoop
					;MsgBox(0, "" , $brom)
					;										Fini()
					;										;Exit
					;									Else
					;										MouseClick("left", 1013, 18, 2); 2-клик на ЯРЛЫКЕ!!! 
					;									EndIf
					;
					WEnd
		;Sleep(1255)
		;Sleep(2255)
		Sleep(3555)
WinWaitActive("Без имени 1 - OpenOffice.org Calc"); 
BlockInput(1)
;WinSetState ( "Без имени 1 - OpenOffice.org Calc", "", @SW_MAXIMIZE )
;Exit
;Send("^{O}");	
Send("^{o}");	
;Sleep(755)
;Sleep(1255)
Sleep(1555)
;Send("Z:\МMM\Регламенты и документы\Отдел связи\Телефонный справочник.ods");
;Send("C:\Documents and Settings\Пользователь.CM00222\Рабочий стол\" & "Телефонный справочник.ods.lnk"); JRE
Send("{ENTER}")
;Send($was);
																				;_SendEx($was);
																			;	Send("Z:\"); Z с ниспадающ. окном выбора.
																			;	Sleep(755)
																			;	;Send("{ENTER}")
																			;	Send("{Down}"); перешли на ниспадающ. окно выбора - тоp-строка.
																			;	Sleep(755)
																			;	Send("{Up 2}"); перешли на нижн. строку в окне выбора.
																			;	Sleep(755)
																			;	;Send("{ENTER}"); выбрали: Z:\МMM																			;	Send("{\}"); довесили "\"
																			;	Sleep(755)
																			;	Send("{ENTER}")
																			;	Sleep(755)
																			;	Send("{Right}")
																			;	Sleep(755)
																			;	Send("{Р}")
																			;	Sleep(755)
																			;	Send("{Down}")
																			;	Sleep(755)
																			;	Send("{ENTER}")
																			;	Sleep(755)
																			;	Send("{Right}")
																			;	Sleep(755)
																			;	Send("{\}"); довесили ещё "\"
																			;	Sleep(755)
																			;	Send("{Up 3}"); перешли на ОС.
																			;	Sleep(755)
																			;	
																			;	Send("{ENTER}")
																			;	Sleep(755)
																			;	Send("{Right}")
																			;	Sleep(755)
																			;	Send("{\}"); довесили ещё "\"
																			;	Sleep(755)
																			;	Send("{Up 2}"); перешли на ОС.
																			;	Sleep(755)
																			;	Send("{ENTER}")
																			;	Exit
																				;		Send("{Up}")
																				;		Sleep(755)
																				;		Send("{\}"); довесили ещё "\"
																				;		Sleep(755)
																				;		Send("{Up}"); Рег и док
																				;		Sleep(755)
																				;		Sleep(755)
																				;		Send("{\}"); довесили ещё "\"
																				;		Send("{Up 2}"); перешли на ОС.
																				;		Send("{ENTER}")
																				;		Sleep(755)
																				;		Exit
																				;		Send("{Up 2}"); перешли на файл. Надеюсь. :)
																				;		Sleep(755)
																				;		Exit
																				;		Send("{Up}")
																				;		Sleep(755)
																				;		Send("{ENTER}")
																				;		Sleep(755)
																				Exit
Sleep(1555)
Send("{TAB 2}{ENTER}");
Sleep(2555)
Send("{TAB 2}")
Send("{ENTER}")
			;MsgBox(0, "Статус:", "Запустил!!!", 2)
			Sleep(555); сделали всё, дабы открыть наш файл "Справочник...."
			While 1; а теперь дождёмся его открытия
				$brom=PixelChecksum (1400, 856, 1429, 865, 4 ); 100% - внизу, справа (ибо при открытии 201%).
				If $brom=2982817285 Then ExitLoop
				;MsgBox(0, "" , $brom)
				Sleep(111)
			WEnd
			; дождались
																								;	WinWaitActive("Телефонный справочник.ods - OpenOffice.org Calc")
																								;	WinSetState ( "Телефонный справочник.ods - OpenOffice.org Calc", "", @SW_MAXIMIZE )
			;WinWaitActive("Без имени 1 - OpenOffice.org Calc")
			;MsgBox(0, "", "Ща проверю, запустилось ли.", 1); Ща проверю, запустилось ли.
$title = WinGetTitle("[active]")
 

axlwor

Скриптер
Сообщения
657
Репутация
147
ох ты ж :laugh:
там же встроенный питон или жаба. Как раз для таких случаев

вечерком найду комп с опенофисом, посмотрю
 
Автор
A

akoulev

Новичок
Сообщения
169
Репутация
2
Yuriy сказал(а):
У меня Open Office 3.1.1
Так запускается
...
И так тоже
Код:
ShellExecute("C:\Documents and Settings\user_01\Рабочий стол\Ярлык для 111.ods.lnk")
Заработало! Спасибо!!!
 
Верх