Danke water.
Ich habe deinen Script genommen und in meine GUI eingebaut, bitte erschlagt mich nicht für die Unordentlichkeit.
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
;-----GUI Elemente-----
$GUI = GUICreate("Photoshop Thumbail Tool", 460, 183, 192, 148)
$in_start = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "START", ""), 112, 13, 121, 21)
$lbl_start = GUICtrlCreateLabel("Startnummer:", 13, 16, 85, 20)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
$in_end = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "ENDE", ""), 112, 37, 121, 21)
$lbl_end = GUICtrlCreateLabel("Endnummer:", 20, 40, 78, 20)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
$lbl_path = GUICtrlCreateLabel("Speicherpfad:", 14, 120, 84, 20)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
$lbl_path_2 = GUICtrlCreateLabel(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "PFAD", ""), 112, 120, 300, 20)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
$btn_path = GUICtrlCreateButton("Durchsuchen", 112, 146, 75, 25)
$in_vText = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "VORTEXT", ""), 328, 13, 121, 21)
$lbl_vText = GUICtrlCreateLabel("Vortext:", 264, 16, 50, 20)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
$in_nText = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "NACHTEXT", ""), 328, 37, 121, 21)
$lbl_nText = GUICtrlCreateLabel("Nachtext:", 256, 40, 58, 20)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
$in_layer = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "EBENE", ""), 112, 61, 121, 21)
$lbl_layer = GUICtrlCreateLabel("Textebene:", 29, 64, 69, 20)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
$in_quality = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "QUALITAET", ""), 112, 88, 121, 21)
$lbl_quality = GUICtrlCreateLabel("Qualität:", 45, 88, 53, 20)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
$btn_save = GUICtrlCreateButton("Speichern", 288, 144, 81, 25)
$btn_start = GUICtrlCreateButton("Starten", 376, 144, 75, 25)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $btn_path
Search()
Case $btn_save
Save()
Case $btn_start
Start()
EndSwitch
WEnd
$iStart = GuiCtrlRead($in_start)
$iEnde = GuiCtrlRead($in_end)
$sVortext = GUICtrlRead ($in_vText)
$sNachtext = GUICtrlRead ($in_nText)
$iTextebene = GUICtrlRead ($in_layer)
$sSpeicherpfad = GuiCtrlRead($lbl_path_2)
Global $i
Global $oAppref = ObjCreate("Photoshop.Application")
If $oAppref.documents.count <> 0 Then
Global $oDocref = $oAppref.ActiveDocument
Else
MsgBox(0, "", "Erst die Datei öffnen!")
EndIf
Global $oJpgSaveOptions = ObjCreate("Photoshop.JPEGSaveOptions")
$oJpgSaveOptions.EmbedColorProfile = True
$oJpgSaveOptions.FormatOptions = 1 ; psStandardBaseline
$oJpgSaveOptions.Matte = 1 ; psNoMatte
$oJpgSaveOptions.Quality = GUICtrlRead($in_quality)
;-----Funktionen-----
Func Search()
$s_path = FileSelectFolder("Wähle bitte deinen Speicherort aus", "C:/")
$in_path = GUICtrlSetData($lbl_path_2, $s_path)
EndFunc ;==>Search
Func Save()
IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "START", GUICtrlRead($in_start))
IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "ENDE", GUICtrlRead($in_end))
IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "PFAD", GUICtrlRead($lbl_path_2))
IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "VORTEXT", GUICtrlRead($in_vText))
IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "NACHTEXT", GUICtrlRead($in_nText))
IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "EBENE", GUICtrlRead($in_layer))
IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "QUALITAET", GUICtrlRead($in_quality))
EndFunc ;==>Save
Func Start()
Global $sOutFileName
For $i = $iStart To $iEnde
$oDocref.ArtLayers($iTextebene).TextItem.Contents = $sVortext & $i & $sNachtext
$sOutFileName = $sSpeicherpfad & "\" & $i & ".jpg"
$oDocref.SaveAs($sOutFileName, $oJpgSaveOptions, True)
Next
EndFunc ;==>Start
Mir wird als Fehler folgendes angezeigt:
Spoiler anzeigen
Wie kann ich diesen Fehler beheben?
Ich habe es bereits mit Global $i versucht, der Fehler erscheint dennoch.
~EDIT~
Ich habe nun alles in die Funktion gepackt.
Er holt Photoshop zwar nun in den Vordergrund jedoch wird an der Ebene nichts verändert und ebenfalls keine Datei gespeichert.
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
;-----GUI Elemente-----
$GUI = GUICreate("Photoshop Thumbail Tool", 460, 183, 192, 148)
$in_start = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "START", ""), 112, 13, 121, 21)
$lbl_start = GUICtrlCreateLabel("Startnummer:", 13, 16, 85, 20)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
$in_end = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "ENDE", ""), 112, 37, 121, 21)
$lbl_end = GUICtrlCreateLabel("Endnummer:", 20, 40, 78, 20)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
$lbl_path = GUICtrlCreateLabel("Speicherpfad:", 14, 120, 84, 20)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
$lbl_path_2 = GUICtrlCreateLabel(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "PFAD", ""), 112, 120, 300, 20)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
$btn_path = GUICtrlCreateButton("Durchsuchen", 112, 146, 75, 25)
$in_vText = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "VORTEXT", ""), 328, 13, 121, 21)
$lbl_vText = GUICtrlCreateLabel("Vortext:", 264, 16, 50, 20)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
$in_nText = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "NACHTEXT", ""), 328, 37, 121, 21)
$lbl_nText = GUICtrlCreateLabel("Nachtext:", 256, 40, 58, 20)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
$in_layer = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "EBENE", ""), 112, 61, 121, 21)
$lbl_layer = GUICtrlCreateLabel("Textebene:", 29, 64, 69, 20)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
$cmb_quality = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "QUALITAET", ""), 112, 88, 121, 21)
$lbl_quality = GUICtrlCreateLabel("Qualität:", 45, 88, 53, 20)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
$btn_save = GUICtrlCreateButton("Speichern", 288, 144, 81, 25)
$btn_start = GUICtrlCreateButton("Starten", 376, 144, 75, 25)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $btn_path
Search()
Case $btn_save
Save()
Case $btn_start
Start()
EndSwitch
WEnd
Global $iStart = GUICtrlRead($in_start)
Global $iEnde = GUICtrlRead($in_end)
Global $sVortext = GUICtrlRead($in_vText)
Global $sNachtext = GUICtrlRead($in_nText)
Global $iTextebene = GUICtrlRead($in_layer)
Global $sSpeicherpfad = GUICtrlRead($lbl_path_2)
;-----Funktionen-----
Func Search()
$s_path = FileSelectFolder("Wähle bitte deinen Speicherort aus", "C:/")
$in_path = GUICtrlSetData($lbl_path_2, $s_path)
EndFunc ;==>Search
Func Save()
IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "START", GUICtrlRead($in_start))
IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "ENDE", GUICtrlRead($in_end))
IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "PFAD", GUICtrlRead($lbl_path_2))
IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "VORTEXT", GUICtrlRead($in_vText))
IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "NACHTEXT", GUICtrlRead($in_nText))
IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "EBENE", GUICtrlRead($in_layer))
IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "QUALITAET", GUICtrlRead($cmb_quality))
EndFunc ;==>Save
Func Start()
Global $oAppref = ObjCreate("Photoshop.Application")
If $oAppref.documents.count <> 0 Then
Global $oDocref = $oAppref.ActiveDocument
Else
MsgBox(0, "", "Erst die Datei öffnen!")
EndIf
Global $oJpgSaveOptions = ObjCreate("Photoshop.JPEGSaveOptions")
$oJpgSaveOptions.EmbedColorProfile = True
$oJpgSaveOptions.FormatOptions = 1 ; psStandardBaseline
$oJpgSaveOptions.Matte = 1 ; psNoMatte
$oJpgSaveOptions.Quality = GUICtrlRead($cmb_quality)
Global $sOutFileName
For $i = $iStart To $iEnde
$oDocref.ArtLayers($iTextebene).TextItem.Contents = $sVortext & $i & $sNachtext
$sOutFileName = $sSpeicherpfad & "\" & $i & ".jpg"
$oDocref.SaveAs($sOutFileName, $oJpgSaveOptions, True)
Next
EndFunc ;==>Start