$ wird nicht gesendet

  • Hallo

    könnte mir einer sagen warum er in zeile 375 das value B nicht schreibt?

    Spoiler anzeigen
    [autoit]

    #include <Excel.au3>
    #include <GUIConstantsEx.au3>
    #include <Word.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $anrede = "Sehr geehrter UPS Kunde,"&@CR&@cr&"Wir haben ein Problem bei der Zustellung Ihrer Sendung "
    Global $ini = "a.ini"
    Global $get = ClipGet()
    Global $txt, $value, $iRow = 1, $ini = 'a.ini'
    Global $sPath = @ScriptDir & '\Test1.xls'
    Global $oExcel = _ExcelBookOpen($sPath, 0)
    Global $reihe = 1
    Global $aname, $aadresse, $aplz, $aort, $aland, $Tracking, $value
    Global $ename, $estrasse, $eplz, $eort, $eland, $akundennummer, $valueb

    [/autoit] [autoit][/autoit] [autoit]

    ;$iRow = 1

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Hyperbrief", 375, 130, 193, 125)
    $Button1 = GUICtrlCreateButton("Excel-Datei öffnen", 24, 24, 147, 25, 0)
    $Button2 = GUICtrlCreateButton("Brief erstellen", 24, 80, 147, 25, 0)
    $Button3 = GUICtrlCreateButton("Ecxel Killer", 192, 80, 147, 25, 0)
    $Button4 = GUICtrlCreateButton("Fenstertest", 192, 24, 145, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    case $Button1
    ShellExecute($sPath)
    case $Button2
    _start()
    case $Button3
    ProcessClose("EXCEL.exe")
    Case $Button4
    ; in arbeit

    [/autoit] [autoit][/autoit] [autoit]

    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(100)
    WEnd
    Func _start()
    While True
    $value = _ExcelReadCell($oExcel, "A" & $iRow)
    $valueb = _ExcelReadCell($oExcel, "B" & $iRow)
    If $value = "" Then
    ProcessClose("Excel.exe")
    ExitLoop
    EndIf
    $return = _getData($value)
    $iRow += 1
    WEnd
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    #cs
    ------------------------------------------------------------------------------------------------------------------------
    Funktionen die in reihe geschaltet werden
    Ablauf der einzelenen funktionen
    ------------------------------------------------------------------------------------------------------------------------
    #ce
    Func _getData($value)
    _Activate()
    _open () ;Offnet den ERN und schaltet auf die richtige seite um daten einzu lesen
    _getName() ;absender name in die ini schreiben
    _getAdresse() ;Absender adresse in die ini schreiben
    _getPlz() ;Absender PLZ in die ini schreiben
    _getOrt() ;Absender ort in die ini schreiben
    _getLand() ;absender land in die ini schreiben
    _getTracknr() ;Trackingnummer in die ini schreiben
    _getEmpfName() ;Emf name in die ini schreiben
    _getEmpfStr() ;Emf Str in die ini schreiben
    _getEmpfPlz() ;Emf PLZ in die ini schreiben
    _getEmpfOrt() ;emf Ort in die ini schreiben
    _getEmpfLand() ;Emf land in die ini schreiben
    _getKNr() ;Kundennummer in die ini schreiben
    _worderstellen () ;erstellt eine word oder öffnet die vorhandene
    _letterteil1() ;Schreibt denn brief
    _userletter () ;Benuter wahl
    _alsig () ;Schreiben der algemeinen Signatur
    _dispatch () ; Disparched den ern uns macht den abschluss
    _lettersend ()
    EndFunc
    Func _open()
    _Activate()
    MouseClick("LEFT", 390, 402, 1, 0)
    send ($value)
    Send ("{enter}")
    Send ("9")
    Send ("{enter}")
    Sleep (500)
    send ("01")
    Send("{ENTER}")
    sleep (500)
    Send("{F7}")
    Sleep (500)
    EndFunc
    Func _getName ()
    MouseClick ("left", 24, 399, 1, 0)
    Send("{LSHIFT down}")
    Send("{RIGHT 37}")
    Send("{LSHIFT up}")
    Send ("^c")
    Global $get = ClipGet()
    IniWrite("a.ini", "1", "reihe1", $get)
    EndFunc
    Func _getAdresse()
    _Activate()
    Send("{ENTER}")
    MouseClick ("left", 24, 440, 1, 0)
    Send("{LSHIFT down}")
    Send("{RIGHT 37}")
    Send("{LSHIFT up}")
    Send ("^c")
    Global $get = ClipGet()
    IniWrite("a.ini", "1", "reihe2", $get)
    EndFunc
    Func _getPlz()
    _Activate()
    MouseClick ("left", 376, 512, 1, 0)
    Send("{LSHIFT down}")
    Send("{RIGHT 7}")
    Send("{LSHIFT up}")
    Send ("^c")
    Global $get = ClipGet()
    IniWrite("a.ini", "1", "reihe3", $get)
    EndFunc
    Func _getOrt()
    _Activate()
    MouseClick ("left", 24, 507, 1, 0)
    Send("{LSHIFT down}")
    Send("{RIGHT 15}")
    Send("{LSHIFT up}")
    Send ("^c")
    Global $get = ClipGet()
    IniWrite("a.ini", "1", "reihe4", $get)
    EndFunc
    Func _getLand()
    _Activate()
    MouseClick ("left", 553, 508, 1, 0)
    Send("{LSHIFT down}")
    Send("{RIGHT 3}")
    Send("{LSHIFT up}")
    Send ("^c")
    Global $get = ClipGet()
    IniWrite("a.ini", "1", "reihe5", $get)
    EndFunc
    Func _getTracknr()
    _Activate()
    MouseClick ("left", 167, 257, 1, 0)
    Send("{LSHIFT down}")
    Send("{RIGHT 19}")
    Send("{LSHIFT up}")
    Send ("^c")
    Global $get = ClipGet()
    IniWrite("a.ini", "1", "reihe6", $get)
    EndFunc
    Func _getEmpfName()
    _Activate()
    MouseClick ("left", 663, 399, 1, 0)
    Send("{LSHIFT down}")
    Send("{RIGHT 35}")
    Send("{LSHIFT up}")
    Send ("^c")
    Global $get = ClipGet()
    IniWrite("a.ini", "1", "reihe7", $get)
    EndFunc
    Func _getEmpfStr()
    _Activate()
    MouseClick ("left", 663, 434, 1, 0)
    Send("{LSHIFT down}")
    Send("{RIGHT 35}")
    Send("{LSHIFT up}")
    Send ("^c")
    Global $get = ClipGet()
    IniWrite("a.ini", "1", "reihe8", $get)
    EndFunc
    Func _getEmpfPlz()
    _Activate()
    MouseClick ("left", 1014, 509, 1, 0)
    Send("{LSHIFT down}")
    Send("{RIGHT 7}")
    Send("{LSHIFT up}")
    Send ("^c")
    Global $get = ClipGet()
    IniWrite("a.ini", "1", "reihe9", $get)
    EndFunc
    Func _getEmpfOrt()
    _Activate()
    MouseClick ("left", 663, 507, 1, 0)
    Send("{LSHIFT down}")
    Send("{RIGHT 15}")
    Send("{LSHIFT up}")
    Send ("^c")
    Global $get = ClipGet()
    IniWrite("a.ini", "1", "reihe10", $get)
    EndFunc
    Func _getEmpfLand()
    _Activate()
    MouseClick ("left", 1189, 508, 1, 0)
    Send("{LSHIFT down}")
    Send("{RIGHT 3}")
    Send("{LSHIFT up}")
    Send ("^c")
    Global $get = ClipGet()
    IniWrite("a.ini", "1", "reihe11", $get)
    EndFunc
    Func _getKNr()
    _Activate()
    MouseClick ("left", 341, 366, 1, 0)
    Send("{LSHIFT down}")
    Send("{RIGHT 5}")
    Send("{LSHIFT up}")
    Send ("^c")
    Global $get = ClipGet()
    IniWrite("a.ini", "1", "reihe12", $get)
    EndFunc
    Func _letterteil1()

    [/autoit] [autoit][/autoit] [autoit]

    $aname = iniread (@ScriptDir & "\a.ini", "1", "reihe1", "0")
    $aadresse = iniread (@ScriptDir & "\a.ini", "1", "reihe2", "0")
    $aplz = iniread (@ScriptDir & "\a.ini", "1", "reihe3", "0")
    $aort = iniread (@ScriptDir & "\a.ini", "1", "reihe4", "0")
    $aland = iniread (@ScriptDir & "\a.ini", "1", "reihe5", "0")
    $Tracking = iniread (@ScriptDir & "\a.ini", "1", "reihe6", "0")
    $ename = iniread (@ScriptDir & "\a.ini", "1", "reihe7", "0")
    $estrasse = iniread (@ScriptDir & "\a.ini", "1", "reihe8", "0")
    $eplz = iniread (@ScriptDir & "\a.ini", "1", "reihe9", "0")
    $eort = iniread (@ScriptDir & "\a.ini", "1", "reihe10", "0")
    $eland = iniread (@ScriptDir & "\a.ini", "1", "reihe11", "0")
    $akundennummer = iniread (@ScriptDir & "\a.ini", "1", "reihe12", "0")
    Send ("{enter 8}")
    Send ($aname)
    Send ("{Enter}")
    Send ($aadresse)
    Send ("{Enter}")
    Send ($aort)
    Send ("{space 4}")
    Send ($aplz)
    Send ("{space 4}")
    Send ($aland)
    Send ("{enter 7}")
    Send ($anrede)
    Send ($Tracking)
    Send ("{space 2}")
    Send ("{Enter 3 }")
    Send ("An: ")
    Send ($ename)
    Send ("{Enter}")
    Send ("{space 7}")
    Send ($estrasse)
    Send ("{Enter}")
    Send ("{space 7}")
    Send ($eort)
    Send ("{space 3}")
    Send ($eplz)
    Send ("{space 3}")
    Send ($eland)
    Send ("{enter 3}")
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    func _userletter()
    If $valueb = "ger1gxn" Then Send ($Gajan, 0)
    If $valueb = "kln1bzh" Then Send ($Barbara, 0)
    If $valueb = "ger3gxi" Then Send ($Grace, 0)
    If $valueb = "ger9krw" Then Send ($Karena, 0)
    If $valueb = "ger6hks" Then Send ($Hilkka, 0)
    If $valueb = "ger6rjd" Then Send ($Rolf, 0)
    If $valueb = "ger6sts" Then Send ($Stefanie, 0)
    If $valueb = "ger1mxk" Then Send ($Malanie, 0)
    If $valueb = "kln1azm" Then Send ($Andrea, 0)
    If $valueb = "ger0mjs" Then Send ($marcel, 0)
    If $valueb = "ger1ttr" Then Send ($Thorsten, 0)
    If $valueb = "ger1ook" Then Send ($Oliver, 0)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _alsig ()
    Send ("{Enter 3}")
    Send ($alsig)
    Send ("{enter 8}")
    EndFunc
    Func _worderstellen ()
    opt ("WinTitleMatchMode", 2)
    If WinExists("marcel") Then
    WinActivate ("marcel")
    sleep (5000)
    Else
    Global $oWordApp = _WordCreate("marcel.doc")
    opt ("WinTitleMatchMode", 2)
    WinActivate ("marcel")
    Sleep (1000)
    EndIf
    EndFunc
    Func _Activate()
    WinActivate('QWS3270')
    WinWaitActive('QWS3270')
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _dispatch ()
    _Activate ()
    Send ("{f2}")
    Sleep (300)
    MouseClick ("left", 375, 549, 1, 0)
    Send ($valueb)
    Sleep (5000)
    Send ("{enter}")
    Sleep (5000)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _lettersend ()
    Send ("{tab 4}")
    Sleep (5000)
    Send ("send letter to sender")
    send ("{enter}")
    Send ("{F2 2}")
    EndFunc

    [/autoit]

    Währe super. Sitze leider in der firma und wollte das benutzen alle geht bis auf das $valueb

    Gruß

    Adam

    2 Mal editiert, zuletzt von Adamkaller (30. Dezember 2012 um 12:37) aus folgendem Grund: nach langem suchen habe ich denn Fehler gefunden. Der Fehler wird nicht vom script verursacht sondern vom QWS ( Emfänger System ) beim automatischen öffnen wird der vorgang auf Schreibgeschützt gestellt, Nach entfernen des Schreibschutzes funktionierte es fehler frei. Danke an alle die mir helfen wollten

  • es gibt keine Zeile 375 ^^

    Ich denke mal es geht um Zeile 319 ;)

    Hat die Variable denn überhaupt einen Inhalt?
    Überprüf mal zeile 60, obs da nen Fehler gibt und in der Funktion selbst

  • Sorry ihr habt recht es geht um spalte 319

    ja es sind in der Excel daten eingetragen in spalte B

    Zeile 60 müste simmen er wählt auch die richtige signatur beim schreiben

    die ja über $Valueb bestimmt wird

    aber leider schreibt er $valueB nicht in zeile 319

    Hat jemand eine ahnung wieso nicht oder was ich ändern muss?

    Einmal editiert, zuletzt von Adamkaller (2. Januar 2012 um 11:20)

  • überprüf mal in der Console bitte die Variable in Zeile 319, steht da auch der Text drin den du haben willst?
    Evtl. mal mit

    [autoit]

    StringStripWS

    [/autoit]

    leerzeichen oder Zeilenumbrüche entfernen?

  • HAllo

    das ist eine gute frage ich muss das programm an meinem laptop schreiben und dann per USB stick

    auf dem firmen rechner ziehen. da habe ich keine konsole die mir die ausgabe zeigen könnte

    kriege keine acces für denn editor auf dem firmen pc

  • nichts zu machen ich kriege ihn nicht dazu die$valueb zu schreiben

    in der msg box erschint der wer von $valueb correct

    noch jemand eine idee?

  • nein auch nicht.

    ich glaube ich gebe es auf das ist ja nicht zu glauben

    bastel hier jetzt seit stunden dran rum und nichts geht.

  • Dann sind die Stunden ja für nix gewesen^^

    mach doch mal

    $valueb = "test"
    Send ($valueb)

    dann siehst du schon mal ob es was mit dem Inhalt zu tun hat oder ob es generell nix einfügt

  • es ist nicht der inhalt

    wenn ich an stat eins send befehls eine msg box einfüge bekomme ich den correcten inhalt
    aus der B spalte ($valueb) angezeigt

    es ist echt zum mäuse melken

  • ist es möglich das man $valueb in jedem loop nur ein mal verwenden kann und ich ein $valuec schreiben muss?