vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 
zurück

In diesem Forum haben Sie die Möglichkeit Kommentare, Fragen und Verbesserungsvorschläge zu den im [email protected] gelisteten Tipps und Workshops zu posten.

Hinweis:
Ein neues Thema kann immer nur über die jeweilige Tipps & Tricks bzw. Workshop Seite eröffnet werden!

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen zu Tipps & Tricks und Workshops im [email protected]
Re: Alternative zur SendKeys-Anweisung 
Autor: NoRoutine
Datum: 23.05.14 22:57

Zweiter Teil
Public Sub SendKeyStr(ByVal sText As String)                        ' Send Text 
' to active Control by simulating Key Strokes
Dim sChar As String, sString As String, sRep As String              ' Character 
' to analyze, String to send, Repetitions
Dim I As Integer, J As Integer, iRep As Integer, iPos As Integer    ' Loop 
' Counters, Number of Repetitions, Position within String
Dim bRep As Boolean                                                 ' Flag for 
' last Repetition
 
SendKeyDebug = False
 
    If SendKeyDebug Then Kdebug "Start with " & sText
    sRep = "0"                                                      ' Initialize
    For I = 1 To Len(sText)                                         ' Loop: 
    ' process String
        sChar = Mid(sText, I, 1)                                    ' Get 
        ' Character
 
'       Analyse Character; check +%^, if any set Flag. Multiple +%^ have no 
' effect
        If sChar = "+" Then                                         ' Shift
            bShift = True
            sChar = ""
        ElseIf sChar = "%" Then                                     ' ALT
            bAlt = True
            sChar = ""
        ElseIf sChar = "^" Then                                     ' STRG
            bCtrl = True
            sChar = ""
        End If
        If (bShift And Not bShiftd) Or (bAlt And Not bAltd) Or (bCtrl And Not _
          bCtrld) Then
            If SendKeyDebug Then Kdebug "before send Control Key; " & sChar
            SendKeysEx bRep, sChar                                  ' Send 
            ' Control Keys if any
            If SendKeyDebug Then Kdebug "after send Control Key"
        Else
            If sChar = "(" Then                                     ' Round 
            ' Bracket found?
                bRound = True
                I = I + 1
            ElseIf sChar = "{" Then                                 ' Curly 
            ' Bracket found?
                bCurly = True                                                   _
                      ' Is evaluated in SendKeysEx
                If InStr(I + 1, sText, "}") > 0 Then                         _
                       ' Closing curly Bracket found?
                    sString = Mid(sText, I + 1, InStr(I + 1, sText, "}") - I - _
                    1)   ' Get Text inside curly Brackets
                    I = I + Len(sString) + 1                                    _
                        ' Set Index to closing curly Bracket before altering 
                    ' sString
                    iPos = InStrRev(sString, " ")                               _
                          ' Find Delimiter from Text to Number of Replications
                    If iPos > 0 Then
                        sRep = Mid(sString, iPos + 1, Len(sString) - iPos)      _
                              ' Number of Replications
                        If IsNumber(sRep) Then
                            sString = Left(sString, iPos - 1)                   _
                                  ' Raw Text to send
                        End If
                    End If
                    If sRep = "0" Then                                          _
                          ' Determine Number of Repetitions
                        iRep = 1
                    Else
                        iRep = CInt(sRep)
                    End If
                    For J = 1 To iRep
                        If J = iRep Then bRep = True                            _
                              ' last repetition reached, reset Control Keys
                        If SendKeyDebug Then Kdebug "before send Output within" & _
                        "curly Brackets; bcurly: " & bCurly & "; " & sString
                        SendKeysEx bRep, sString                                _
                            ' Send Output within curly Brackets
                        If SendKeyDebug Then Kdebug "after send Output within" & _
                        "curly Brackets; bcurly: " & bCurly & "; " & sString
                    Next
                    bRep = False
                    sRep = "0"                                                  _
                          ' Reset Number of Repetitions
                    bCurly = False                                              _
                        ' Reset Flag
                End If
            End If
 
'           Send each single Character up to next ) or {
            sChar = Mid(sText, I, 1)                                ' Determine 
            ' current Character

Das muß doch irgendwie gehen!

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Tipp 542: Alternative zur SendKeys-Anweisung8.834Kartoffel30.06.08 11:38
Re: Alternative zur SendKeys-Anweisung4.838Bazi20.04.10 19:05
Re: Alternative zur SendKeys-Anweisung4.647Andreas M.09.07.11 12:46
Re: Alternative zur SendKeys-Anweisung4.506Andreas M.09.07.11 20:18
Re: Alternative zur SendKeys-Anweisung187Paul Schäfer01.03.22 09:54
Re: Alternative zur SendKeys-Anweisung3.936stev-e8719.09.12 13:37
Re: Alternative zur SendKeys-Anweisung3.303NoRoutine23.05.14 22:55
Re: Alternative zur SendKeys-Anweisung3.078NoRoutine23.05.14 22:57
Re: Alternative zur SendKeys-Anweisung3.044NoRoutine23.05.14 23:00
Re: Alternative zur SendKeys-Anweisung3.064NoRoutine23.05.14 23:03
Re: Alternative zur SendKeys-Anweisung3.103NoRoutine23.05.14 23:04
Re: Alternative zur SendKeys-Anweisung3.248NoRoutine23.05.14 23:04

Sie sind nicht angemeldet!
Um einen neuen Beitrag schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2022 [email protected] Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel