Hallo an alle Spezialisten,
ich muss öfters anhand von selbst erstellten Screenshots eine Worddatei erstellen, in der ich die Bilder nacheinander(Strukturierte Liste = 1, 1.1, 1.2 etc.) einfügen muss.
Um nicht jedes Bild einzeln via Word-Einfüge-Dialog auszuwählen und dann einzugfügen, hätte ich gerne ein Script dazu erstellt. Eine GUI mit Drei Buttons habe erstellt.
Beim Klick auf den Button "Bilder einfügen" soll AutoIt also die Dateiliste der Sreenshots durchgehen und dann(ggf. via Clipboard) das jeweils nächste Bild in Word(Cursor wird vorher an die richtige Stelle gesetzt) einfügen.
#include <AutoItConstants.au3>
#include <GUITab.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <File.au3>
#include <Array.au3>
#include <Word.au3>
#include <WordConstants.au3>
#include <Clipboard.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Startcenter BIOSDOKU Tools", 280, 250, -1, -1, 0)
$Button1 = GUICtrlCreateButton("Bilder Einfügen", 8, 8, 257, 25)
$Button2 = GUICtrlCreateButton("Change Image Size", 8,40, 257, 25)
$Button3 = GUICtrlCreateButton("Seitenumbruch einfügen", 8, 72, 257, 25)
$Button4 = GUICtrlCreateButton("Beenden", 8, 174, 257, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Local $Name = WinGetTitle("[CLASS:OpusApp]", "")
Global $n = 0
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Pictinsert()
Case $Button2
ChangeImgSize()
Case $Button3
InsertSeitenumbr()
Case $Button4
Exit
EndSwitch
WEnd
Func Pictinsert()
Local $FileList = _FileListToArray("C:\Users\uah7fe\Pictures\Screenpresso", "*", 1)
If @error = 1 Then
MsgBox(0, "", "Keine Ordner gefunden.")
Exit
EndIf
If @error = 4 Then
MsgBox(0, "", "Keine Dateien gefunden.")
Exit
EndIf
#cs AB HIER WEISS ICH NICHT WEITER #ce
EndFunc
Alles anzeigen
Die Dateiliste ist im Array gespeichert und ich habe sie auch zum Testen per _Arraydisplay ausgegeben. Ich scheitere leider daran, eine Schleife zu erstellen, die das Array durchgeht, mir das erste Bild in Word einfügt(im Prinzip wie die Datei im Explorer manuell rechts anklicken > kopieren dann in Word rechtsklick > einfügen) und den Zähler um eins hoch setzt. Dann nachdem ich den Cursor in Word an die nächste Stelle gesetzt habe, will ich die Funktion erneut ausführen(ButtonClick) und sie soll mir dann das nächste Bild einfügen, usw.