Что нового

[Автоматизация] Открытие файлов

sugar_kuban

Новичок
Сообщения
3
Репутация
0
Подскажите пожалуйста может кто такое уже писал... Открытие документа .doc(из определенной директории на пк) на 5 секунд(чтобы в нем успел выполниться макрос) закрытие его и удаление. Ожидание появление нового документа с таким же именем.
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Вот, если я правильно понял алгоритм - при появлении документа "$sDocument" открывает его на 5 секунд, затем удаляет этот документ и так в бесконечном цикле. Выход по "HotKey"или как-то иначе допишите уже сами :
Код:
#include <Word.au3>
While 1
	Local $sDocument = @ScriptDir & '\Test.docx'
	If FileExists($sDocument) Then
		Local $oWord = _Word_Create()
		Local $oDoc = _Word_DocOpen($oWord, $sDocument, Default, Default, True)
		If Not @error Then
			Sleep(5000)
			_Word_DocClose($oDoc)
			FileDelete($sDocument)
		EndIf
		_Word_Quit($oWord)
	EndIf
WEnd
 
Автор
S

sugar_kuban

Новичок
Сообщения
3
Репутация
0
Что-то не получается
>"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "D:\1\k1.au3"
D:\1\k1.au3 (5) : ==> Unknown function name.:
Local $oWord = _Word_Create()
Local $oWord = ^ ERROR
>Exit code: 1 Time: 0.232

P. S.
я чайник
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
У Вас в начале скрипта есть строка "#include <Word.au3>"? Какая версия AutoIt ?
 
Автор
S

sugar_kuban

Новичок
Сообщения
3
Репутация
0
Ух все же разобрался сложил Ваш скрипт с скриптом на открытие doc файла...
Вот рабочий скрип
While 1
Local $sDocument = @ScriptDir & '\1.doc'
If FileExists($sDocument) Then
$empWord = ObjCreate("Word.Application")
$empWord.Visible = 1
$empWord.documents.Open($sDocument)
sleep (500)

$empWord.Application.Quit
Sleep(500)
FileDelete($sDocument)
EndIf
WEnd


P. S.
Спасибо за подсказку :beer:
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
У Вас версия AutoIt древняя совсем не та, что в подписи , по-этому и имена функций не совпадают.
 
Верх