Hallo zusammen!
soweit läuft mein Script. Ich würde aber gerne noch ne Fehlermeldung einbauen, und zwar, wenn man ohne vorher eine Datei/Dateien mit Öffnen ausgewählt zu haben, den Button Konvertieren drückt. Wenn man das macht, dann stürzt das Script ab. Ich hätte an dieser Stelle gerne eine Fehlermeldung und, dass das Script weiter läuft.
Ich weiß nicht, wie ich da ansetzen muss.
Vielleicht kann mir jemand einen Tipp geben.
Vielen Dank!
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <WindowsConstants.au3>
#include <Excel Rewrite.au3>
#include <file.au3>
#include <array.au3>
#include <GetPathDetail.au3>
#Region ### START Koda GUI section ###
$exceldoku2pdf = GUICreate("exceldoku2pdf", 250, 328, 191, 124)
$Convert = GUICtrlCreateButton("Konvertieren", 8, 184, 113, 49)
$Exit = GUICtrlCreateButton("Beenden", 128, 184, 113, 49)
$Oeffnen = GUICtrlCreateButton("Öffnen", 91, 92, 73, 49)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE, $Exit
Exit
Case $Exit
[/autoit] [autoit][/autoit] [autoit]Case $oeffnen
oeffnen()
Case $Convert
convert()
EndSwitch
WEnd
Func oeffnen()
Global $code = FileOpenDialog("Wähle XLSX oder XLS Datei aus!",@StartupDir, "(*.xlsx;*.xls)",1 + 4)
If @error Then MsgBox(0,"Fehler!", "Bitte wählen Sie zuerst eine .xls- oder .xlsx-Datei aus!")
Global $aFiles = StringSplit($code, "|", 1)
For $i = 2 To UBound($aFiles) -1
$aFiles[$i] = $aFiles[1] & "" & $aFiles[$i]
Next
EndFunc
Func convert()
[/autoit] [autoit][/autoit] [autoit]If $aFiles[0] <= 1 Then
For $i = 1 To $aFiles[0]
Global $oAppl = _Excel_Open()
Global $oWorkbook = _Excel_BookOpen($oAppl, $aFiles[$i])
Global $sOutput = $aFiles[$i]
Global $sOut = _GetPathDetail($aFiles[$i])
Global $fOut = $sOut[2] & "" & $sOut[4]
_Excel_Export($oAppl, $oWorkbook, $fOut)
[/autoit] [autoit][/autoit] [autoit]Sleep(50)
ProcessClose("excel.exe")
Local $PID = ProcessExists("excel.exe")
If $PID Then ProcessClose($PID)
Next
EndIf
For $i = 2 To $aFiles[0]
[/autoit] [autoit][/autoit] [autoit]Global $oAppl = _Excel_Open()
Global $oWorkbook = _Excel_BookOpen($oAppl, $aFiles[$i])
Global $sOutput = $aFiles[$i]
Global $sOut = _GetPathDetail($aFiles[$i])
Global $fOut = $sOut[2] & "" & $sOut[4]
_Excel_Export($oAppl, $oWorkbook, $fOut)
[/autoit] [autoit][/autoit] [autoit]Sleep(50)
ProcessClose("excel.exe")
Local $PID = ProcessExists("excel.exe")
If $PID Then ProcessClose($PID)
Next
EndFunc