Ich hab nochmal etwas bezüglich dem Excel_BookOpen...
Nachdem die Arbeitsmappe geöffnet wurde soll er natürlich in der Datei Daten einfügen. In meinem Skript beginne ich immer damit, dass in der besagten Excel-Datei eine leere Zeile eingefügt wird (und anschliessend dann die Daten).
Ab und zu in meinen Tests bricht dort mein Skript aber ab... hier mal der Ausschnitt:
Local $oExcelapp = _Excel_Open(False,False,True,True,True)
Local $oExcel = _Excel_BookOpen($oExcelapp, $sFile, False, True, "123")
Do
$file_open_test = _WinAPI_FileInUse($sFile)
Sleep(250)
Until $file_open_test = 1
_Excel_RangeInsert($oExcel.Activesheet, "2:2")
GUICtrlSetData($progress, "25")
_Excel_RangeWrite ($oExcel,Default, @MDAY&"."&@MON&"."&@YEAR , "A2")
GUICtrlSetData($progress, "30")
_Excel_RangeWrite ($oExcel,Default, @UserName , "B2")
Alles anzeigen
Er bricht jedoch manchmal mein Skript ab mit dem folgenden Fehler:
"C:\Program Files\AutoIt3\Include\Excel.au3" (227) : ==> Variable must be of type "Object".:
$oExcel.Windows($oWorkbook.Name).Visible = $bVisible
$oExcel.Windows($oWorkbook.Name)^ ERROR
Ich bin der Meinung, dass er sich durch Aufruf der Zeile 7 verabschieded, weiß aber nicht warum. Manchmal sind unserer Rechner hier sehr langsam oder auch manchmal das Netzlaufwerk. Kann es sein, dass einfach die Exceldatei noch nicht vollständig geöffnet ist und er deswegen den Fehler wirft? Die Exceldatei lasse ich auf invisible starten, da der Mitarbeiter nur meine Maske ausfüllen soll, ohne jedoch die eigentliche Excel-Datei (diese dient dann als Art Datenbank). Ich hab versucht ein paar Sleeps einzubauen nach dem Excel_Open und dem Excel_BookOpen Befehl, aber der Skriptabsturz erfolgt dennoch immer mal sporadisch. Lässt sich der Fehler irgendwie abfgangen damit der User ohne Absturz des Programmes arbeiten kann?
Sorry das ich das eigentlich fertige Thema nochmal eröffne...
LG
Mirko