1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

VBScript Sendkeys Frage

Discussion in 'Programmieren' started by spook93, Feb 24, 2010.

Thread Status:
Not open for further replies.
  1. spook93

    spook93 Byte

    hallo

    muss mal wieder mit vbscript und sendkeys arbeiten

    da ich das schon mal gemacht habe dachte ich kein problem und hab erstmal einen test gemacht

    hier das test-skript:

    Code:
    On Error Resume Next
    
    ' Notepad starten und Dialog "Seite einrichten" aufrufen
    Dim AppID As Long
     
    AppID = Shell("c:\WINDOWS\notepad.exe", vbNormalFocus)
    DoEvents
     
    ' NotePad aktivieren
    AppActivate AppID
     
    ' Alt+d (Menü DATEI)
    SendKeys "%d", True
     
    ' r (Seiten einrichten)
    SendKeys "r", True
     
    ' Alt+k (Kopfzeile)
    SendKeys "%k", True
     
    ' Text schreiben
    SendKeys "Test-Kopfzeile", True
     
    ' Dialog beenden (OK-Schaltfläche per Alt+O auslösen)
    SendKeys "%o"
    doch plötzlich kam eine Fehlermeldung mit der ich garnicht gerechnet habe, und zwar:

    Zeile: 4
    Zeichen: 11
    Fehler: Anweisungsende erwartet
    Code: 800A04041
    Quelle: Kompilierungsfehler in Microsoft VBScript

    also er meckert über
    Code:
    Dim AppID As Long
    nur warum?

    was ist da schief gelaufen :confused:
     
  2. VB-Coder

    VB-Coder Megabyte

    1. Variablen werden in VBS automatisch durch zuweißen eines Wertes erstellt. Also durch VariablenName = "Wertzuweißung"

    2. VBS kennt nur den Datentyp Variant, daher kommt der Fehler. Denn alles hinter Dim AppID gehört für VBS dort nicht mehr hin. Was bewirkt, das ein Anweißungsende erwartet wird.

    3. Wenn ich schon ausgeschlafen bin und mein Hirn rattert, dann sollte der restliche Code so auch nicht funktionieren. Oder anders gefragt: Ist das nur nen Auszug aus dem Code ?
     
  3. spook93

    spook93 Byte

    ja hast recht das was ich fabriziert habe ist wohl vba :grübel:

    hab ich wohl nicht richtig hingeschaut :dumm:

    so funktionierts richtig:

    Code:
    on error resume next
    set ws = CreateObject("Wscript.Shell")
    ws.run("c:\WINDOWS\notepad.exe")
    AppID = Shell("c:\WINDOWS\notepad.exe", vbNormalFocus)
    wscript.sleep 1000
    AppActivate AppID
    wscript.sleep 1000
    ' Alt+d (Menü DATEI)
    ws.SendKeys "%d", True
    wscript.sleep 1000 
    ' r (Seiten einrichten)
    ws.SendKeys "r", True
    wscript.sleep 1000 
    ' Alt+k (Kopfzeile)
    ws.SendKeys "%k", True
    wscript.sleep 1000 
    ' Text schreiben
    ws.SendKeys "Test-Kopfzeile", True
    wscript.sleep 1000 
    ' Dialog beenden (OK-Schaltfläche per Alt+O auslösen)
    ws.SendKeys "%o"

    manchmal sieht man den wald vor lauter bäumen nicht...

    danke für deine hilfe!
     
Thread Status:
Not open for further replies.

Share This Page