Es gibt eine XML UDF zum parsen von XML Nodes im englischen Forum irgendwo. Wenn deine Anfragen aber nicht allzugroß ausfallen kannst du das ganze auch mit regulären Ausdrücken parsen.
Beiträge von alpines
-
-
Hier mal ein Beispiel wie man das machen kann (musst du logischerweise auf deins anpassen und Errorhandling einbauen):
Erstell dir einen neuen Ordner mit mehreren Textdateien mit dem Schema "Plannummer Benennung.txt".
AutoIt
Alles anzeigen#include <File.au3> $sFiles = FileOpenDialog("Select Files", @ScriptDir, "Test-Dateien (*.txt)", $FD_FILEMUSTEXIST + $FD_MULTISELECT) MsgBox(64, "Return", $sFiles) If StringInStr($sFiles, "|") Then ;Multiple Files $aFiles = StringSplit($sFiles, "|", 3) For $i = 1 To UBound($aFiles) - 1 $sPlannummer = StringLeft($aFiles[$i], 6) $sBenennung = StringTrimLeft($aFiles[$i], 7) ConsoleWrite("Nr: " & $sPlannummer & @TAB & "Benennung: " & $sBenennung & @TAB & "Absoluter Pfad: " & $aFiles[0] & "\" & $aFiles[$i] & @CRLF) Next Else $sPlannummer = StringLeft($sFiles, 6) $sBenennung = StringTrimLeft($sFiles, 7) ConsoleWrite("Nr: " & $sPlannummer & " - Benennung: " & $sBenennung & @CRLF) EndIf -
This may be a dumb question but: Did you try searching for them already? You get plenty of results when you do so.
-
Dein Script ist so nicht lauffähig, da fehlen etliche Variablen die nicht deklariert sind.
FileOpenDialog returnt im folgenden Muster: Pfad zum Ordner|Datei1|Datei2.
Jetzt brauchst du nur noch StringSplit zu verwenden mit dem Delimeter "|". Dann hast du auch schon ein Array mit [0] Pfad zum Ordner [1] Datei1 usw.
Nun noch eine For-Schleife dazu und du kannst das Array in die Exceltabelle schreiben. -
Fensternamen sind kein Problem.
Ich nehme mal an das die Titel in etwa so lauten "Vorname Nachname - Microsoft Outlook".
Mit Opt WinTitleMatchMode und WinGetTitle kannst du dir dann den richtigen Titel holen. (Zur Not tuts WinList auch.) -
So, dann wollen wir dir mal auf die Finger hauen!
Variablenbenennung ist schrecklich! $Label1, $SPIELEN, $Label2, $Form1... Sowas sollte man immer vermeiden!
Wenn du schon Bilder im Script verwendest, dann solltest du sie auch immer mitliefern
Code-Einrückung ist auch dringend nötig. Ich hab keine Ahnung wo ich mich in deinem Script befinde wenn ich ein wenig runterscrolle da alles links am Anschlag ist.
Formatier deinen Code besser und liefer uns das ganze als .zip damit wir das anständig testen können.
-
Klappt eigentlich jetzt alles? Wenn ja kannst du ja den grünen Haken für erledigt / gelöst setzen indem du den 1. Beitrag bearbeitest.
-
seit
/ot Da kräuseln sich mir direkt die Fingernägel. http://www.seid-seit.de/
-
Wie ich die GUIs mit den Befehlen aus und einblenden unterscheiden kann verstehe ich aber nicht.
Du darfst die GUIs nur einmal erstellen und zeigst sie nur an wenn sie gebraucht werden.
Schreib die GUIs an den Anfang deines Scripts und zeige mit GUISetState() nur die an die angezeigt werden soll. Dann kannst du in der While-Schleife die anderen GUIs anzeigen/ausblenden.
-
Naja, du könntest schon aber es wäre nicht so elegant. Du kannst die Position am Control spezifizieren die du klicken möchtest (sofern die Reihenfolge immer gleich bleibt).
Ich würde dir aber erstmal raten dich in der Outlook-UDF umzusehen. Wenn du das ganze dort über das Objekt geregelt kriegst ist das ganze um einiges zuverlässiger. -
Windows Anwendungen sind ja mit Controls bestückt wie Buttons, ListBoxen und dem ganzen anderen Zeugs.
Mit dem AutoIt Window Info Tool (was mit der Installation mitgeliefert wird) kannst du rausfinden welche Id, Name, ClassNr das Control hat und dementsprechend mit den Control*-Funktionen ansteuern.Dazu nimmst du den Cursor im Fenster und ziehst ihn einfach mal auf die Inputbox und schaust ob sie gehighlightet wird oder das ganze Fenster.
Sollte das ganze Fenster sein, dann wird ein anderer GUI-Wrapper verwendet und du kannst das Tool nicht verwenden.Sollten es aber Standardcontrols sein, so kansnt du die Information unter "Summary" verwenden und mit ControlSetText beispielsweise manipulieren.
-
Kommst du da nicht mit dem AutoIt Window Info Tool ran? Ob die Outlook-UDF das anbietet kann ich dir nicht sagen, aber kannst die ja mal durchgucken, vielleicht findest du was.
-
Wieso hast du denn überhaupt noch die zweite Schleife mit dem -3 drinne? Das ergibt doch absolut kein Sinn.
-
-
-
Es muss ja den String einlesen und zum Beispiel ein A mit einem :regional_indicator_a: ersetzen, allerdings ist in dem replacement ja wieder ein A vorhanden.
Du kannst abfragen ob das A klein ist oder innerhalb von zwei Doppelpunkten steht. Dann ignorierst du es.
Mit StringReplace kannst du die Zeichen ersetzen. Da verwendest du am besten eine For-Schleife mit einem Array was die ganzen Such-und-Ersetz-Strings beinhaltet.
-
Du kannst den Standardoutput nicht umleiten, er heißt ja eben Standardoutput.
Im Skript kannst du In den StdOut oder ErrOut schreiben aber nicht entscheiden was damit angefangen werden soll.
Das ist ja schließlich nicht der Sinn vom Programm. Das Programm teilt nur mit das was passiert ist und das Parentprogramm soll sich um das Auslesen / Speichern davon kümmern. -
Du kannst es über die CMD starten, so wird der StdOut in die CMD geleitet.
Wenn du es in einer Datei haben willst dann so cmd: script.au3 >> debug.txt. -
Ja, in der GUIConstants.au3 oder in der Extended davon.
Die sind alle mit $GUI_EVENT_* benannt.
-
Ganz genau.