Hallo,
ich habe ein Problem bei einer Ausgabe einer Variablen.
Anbei das Skript:
#include<Array.au3>
#include<String.au3>
;##Global $mailtxt, $mailheader, $betreff, $name, $vorname, $nachname, $quelltext, $bg, $ci
[/autoit][autoit][/autoit][autoit]HotKeySet("{ESC}", "Terminate")
[/autoit][autoit][/autoit][autoit]#Region --- Au3Recorder generated code Start ---
[/autoit][autoit][/autoit][autoit];##### MAIL RIPPEN #####
Opt("WinTitleMatchMode", 2)
WinActivate("- Nachricht")
Send("{CTRLDOWN}ac{CTRLUP}")
Sleep(500)
$mailtxt = ClipGet()
Sleep(500)
Send("{ALTDOWN}7z{ALTUP}")
_WinWaitActivate("Nachrichtenoptionen", "")
Send("{ALTDOWN}z{ALTUP}{CTRLDOWN}c{CTRLUP}{ENTER}")
$mailheader = ClipGet()
[/autoit][autoit][/autoit][autoit]$betreff = _StringBetween($mailheader, "Subject: ",@CRLF)
[/autoit][autoit][/autoit][autoit]$name = _StringBetween($mailheader, 'From: "','" <')
[/autoit][autoit][/autoit][autoit][/autoit][autoit];##### Prepare for IM #####
Send("{SHIFTDOWN}{TAB}{SHIFTUP}"); In Betreffzeile springen für spätere IM Nummer
;##### Mail speichern #####
Send("{ALTDOWN}du{ALTUP}")
_WinWaitActivate("Speichern unter","")
Send("{ALTDOWN}t{ALTUP}Outlook-Nachrichtenformat{ENTER}{ALTDOWN}s{ALTUP}")
Sleep(500)
[/autoit][autoit][/autoit][autoit]_WinWaitActivate("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","")
[/autoit][autoit][/autoit][autoit];##### Mail speichern #####
[/autoit][autoit][/autoit][autoit]MouseClick("left",787,226,1)
MouseClick("right",773,371,1)
MouseClick("left",801,422,1)
_WinWaitActivate("Öffnen","")
Send("{SHIFTDOWN}{TAB}{SHIFTUP}{UP}{ENTER}")
MouseClick("left",358,230,1)
;##### BETREFF EINFÜGEN #####
MouseClick("left",682,200,1)
Send("{CTRLDOWN}a{CTRLUP}")
ClipPut($betreff[0])
Send("{CTRLDOWN}v{CTRLUP}")
;##### SORT NAME #####
$vorname = _StringBetween($name[0], ", ", "") ;Vorname aus String ausschneiden
_ArrayToClip($vorname)
MouseClick("left",957,326,1)
Send("{CTRLDOWN}av{CTRLUP}")
Sleep(500)
$nachname = _StringBetween($name[0], "", ",") ;Nachname aus String ausschneiden
_ArrayToClip($nachname)
MouseClick("left",957,304,1)
Send("{CTRLDOWN}av{CTRLUP}{ENTER}") ;Einfügen und FILL
;################ Warten falls User nicht eindeutig ######################
_WinWaitActivate("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","")
Sleep(2000)
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit];#### BG und CI rippen und einfügen ####
opt("WinTitleMatchMode", 2)
WinActivate("xxxxxxxxxxxxxx")
;##### BG RIPPEN #####
Send("{CTRLDOWN}u{CTRLUP}") ;Quelltext aufrufen
Sleep(1000)
Send("{CTRLDOWN}ac{CTRLUP}") ;Quelltext kopieren
$quelltext = ClipGet()
Sleep(1000)
Send("{CTRLDOWN}w{CTRLUP}") ;Quelltext schließen
$bg = _StringBetween($quelltext, "- GV "," -") ;BG aus Quelltext schneiden
Sleep(1000)
$ci = _StringBetween($quelltext, "Configuration Item:</b></i><td>","</td>") ;CI aus Quelltext schneiden
Sleep(1000)
_WinWaitActivate("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","")
[/autoit][autoit][/autoit][autoit];#### BG einfügen ####
MouseClick("left",561,327,1);bg
Send("{CTRLDOWN}a{CTRLUP}")
ClipPut($bg[0])
Send("BG")
Send("{CTRLDOWN}v{CTRLUP}")
sleep(1000)
;#### Reiter CI wechseln
MouseClick("left",439,229,1);CI REITER
;#### CI einfügen ####
MouseClick("left",589,278,1);ci
ClipPut($ci[0])
Send("{CTRLDOWN}av{CTRLUP}")
Sleep(1000)
MouseClick("left",365,228,1);INTERACTION DETAIL REITER
[/autoit][autoit][/autoit][autoit];#### Criticality anpassen
MouseClick("left",596,458,1)
Send("{CTRLDOWN}ac{CTRLUP}")
MouseClick("left",570,433,1)
Send("{CTRLDOWN}av{CTRLUP}")
;#### Notified by email
MouseClick("left",596,590,2)
Send("{SHIFTDOWN}e{SHIFTUP}") ;Einfügen
;#### Mailtext einfügen ####
MouseClick("left",453,732,1)
ClipPut($mailtxt)
Send("{CTRLDOWN}a{CTRLUP}---> mail attached{ENTER}{ENTER}{CTRLDOWN}v{CTRLUP}") ;Einfügen
opt("WinTitleMatchMode", 2)
WinActivate("- Nachricht")
#Region --- Internal functions Au3Recorder Start ---
Func _WinWaitActivate($title, $text, $timeout = 0)
WinWait($title, $text, $timeout)
If Not WinActive($title, $text) Then WinActivate($title, $text)
WinWaitActive($title, $text, $timeout)
EndFunc ;==>_WinWaitActivate
#EndRegion --- Internal functions Au3Recorder Start ---
#EndRegion --- Au3Recorder generated code Start ---
[/autoit][autoit][/autoit][autoit]Func Terminate()
Exit 0
EndFunc ;==>Terminate
Es erscheint die Fehlermeldung:
(101) : ==> Subscript used with non-Array variable.:
ClipPut($bg[0])
ClipPut($bg^ ERROR
Wenn ich es aber so laufen lasse funktioniert es.
[autoit]#include<Array.au3>
#include<String.au3>
HotKeySet("{ESC}", "Terminate")
[/autoit][autoit][/autoit][autoit]#Region --- Au3Recorder generated code Start ---
[/autoit][autoit][/autoit][autoit][/autoit][autoit];#### BG und CI rippen und einfügen ####
opt("WinTitleMatchMode", 2)
WinActivate("xxxxxxxx")
;##### BG RIPPEN #####
Send("{CTRLDOWN}u{CTRLUP}") ;Quelltext aufrufen
Sleep(1000)
Send("{CTRLDOWN}ac{CTRLUP}") ;Quelltext kopieren
$quelltext = ClipGet()
Sleep(1000)
Send("{CTRLDOWN}w{CTRLUP}") ;Quelltext schließen
$bg = _StringBetween($quelltext, "- GV "," -")
Sleep(500)
$ci = _StringBetween($quelltext, "Configuration Item:</b></i><td>","</td>")
Sleep(500)
_WinWaitActivate("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","")
[/autoit][autoit][/autoit][autoit];#### BG einfügen ####
MouseClick("left",561,327,1);bg
Send("{CTRLDOWN}a{CTRLUP}")
ClipPut($bg[0])
Send("BG")
Send("{CTRLDOWN}v{CTRLUP}{ENTER}")
sleep(1000)
;#### Reiter CI wechseln
MouseClick("left",439,229,1);CI REITER
;#### CI einfügen ####
MouseClick("left",589,278,1);ci
ClipPut($ci[0])
Send("{CTRLDOWN}av{CTRLUP}{ENTER}")
Sleep(1000)
MouseClick("left",365,228,1);INTERACTION DETAIL REITER
[/autoit][autoit][/autoit][autoit];#### Criticality anpassen
MouseClick("left",596,458,1)
Send("{CTRLDOWN}ac{CTRLUP}")
MouseClick("left",570,433,1)
Send("{CTRLDOWN}av{CTRLUP}")
;#### Notified by email
MouseClick("left",596,590,2)
Send("{SHIFTDOWN}e{SHIFTUP}") ;Einfügen
#Region --- Internal functions Au3Recorder Start ---
Func _WinWaitActivate($title, $text, $timeout = 0)
WinWait($title, $text, $timeout)
If Not WinActive($title, $text) Then WinActivate($title, $text)
WinWaitActive($title, $text, $timeout)
EndFunc ;==>_WinWaitActivate
#EndRegion --- Internal functions Au3Recorder Start ---
#EndRegion --- Au3Recorder generated code Start ---
[/autoit][autoit][/autoit][autoit]Func Terminate()
Exit 0
EndFunc ;==>Terminate
Ich komm da nicht weiter, weil ich nicht verstehe warum es in einem Skript funktioniert, und in einem anderen wiederum nicht.
Vielen Dank im Voraus.