Hallo,
weiß jemand, warum der Return nach der __ExcelFunktion() sofort erfolgt, aber bei der __WordFunktion() erst nach über 10 Sekunden?
AutoIt
#include <Word.au3>
#include <Excel.au3>
MsgBox(0, 'Ende __ExcelFunktion', 'Rückgabe' & @CRLF & '@error: ' & @error & @CRLF & '@extended: ' & @extended & @CRLF & 'Rückgabewert: ' & __ExcelFunktion(), 2)
MsgBox(0, 'Ende __WordFunktion', 'Rückgabe' & @CRLF & '@error: ' & @error & @CRLF & '@extended: ' & @extended & @CRLF & 'Rückgabewert: ' & __WordFunktion(), 2)
Exit
Func __ExcelFunktion()
Local $oAppl
Local $sDatei = @ScriptDir & '\Testdatei.xlsx' ; irgend eine Excel-Datei, Inhalt ist egal (kann auch leer sein)
$oAppl = _Excel_Open()
If @error Then Return MsgBox(0, '__ExcelFunktion', '_Excel_Open @error: ' & @error & @CRLF & '@extended: ' & @extended) * 0
$oWorkbook = _Excel_BookOpen($oAppl, $sDatei)
If @error Then Return MsgBox(0, '__ExcelFunktion', '_Excel_BookOpen @error: ' & @error & @CRLF & '@extended: ' & @extended) * 0
MsgBox(0, 'kurze Pause', 'Excel-Datei ist geöffnet', 1)
_Excel_BookClose($oWorkbook)
If @error Then Return MsgBox(0, '__ExcelFunktion', '_Excel_BookClose @error: ' & @error & @CRLF & '@extended: ' & @extended) * 0
_Excel_Close($oAppl) ; , Default, True) ; weitere Parameter für den Test
If @error Then Return MsgBox(0, '__ExcelFunktion', '_Excel_BookClose @error: ' & @error & @CRLF & '@extended: ' & @extended) * 0
MsgBox(0, '', 'Excel beendet', 1)
Return 1 ; alles ok, Return gibt 1 zurück
EndFunc ;==>__ExcelFunktion
Func __WordFunktion()
Local $oWord
Local $sDocument = @ScriptDir & '\Testbrief.docx' ; irgend ein Word-Dokument, Inhalt ist egal (kann auch leer sein)
$oWord = _Word_Create() ; erstellt ein Word-Objekt
If @error Then Return MsgBox(0, '__WordFunktion', '_Word_Create @error: ' & @error & ', @extended = ' & @extended) * 0
Local $oDoc = _Word_DocOpen($oWord, $sDocument);, Default, Default, True)
If @error Then Return MsgBox(0, '__WordFunktion', '_Word_DocOpen @error: ' & @error & ', @extended = ' & @extended)
MsgBox(0, 'kurze Pause', 'Word-Dokument ist geöffnet', 1)
_Word_DocClose($oDoc) ; schließt das Word-Dokument
If @error Then Return MsgBox(0, '__WordFunktion', '_Word_DocClose @error = ' & @error & ', @extended = ' & @extended) * 0
_Word_Quit($oWord, Default, Default, True) ; weitere Parameter für den Test
If @error Then Return MsgBox(0, '__WordFunktion', '_Word_Quit @error = ' & @error & ', @extended = ' & @extended) * 0
MsgBox(0, '', 'Word beendet', 1)
; Return SetError(4, 5, 6) ; Test von Rückgabewerten
; Return SetExtended(8, 9)
Return 1 ; alles ok, Return gibt 1 zurück
EndFunc ;==>__WordFunktion
Alles anzeigen
Vielen Dank schonmal an Alle, die sich damit befassen.