Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1848to1852
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Cursorposition auf dem Bildschirm ausles

Cursorposition auf dem Bildschirm ausles
09.10.2021 07:14:46
Sebastian
Hi Leute,,
ich steuere mit VBA eine Seite im Chrome Browser (Virtual KeyCodes). Jetzt würde ich gerne wissen ob es möglich ist Koordinaten des aktiven Cursors auszulesen. Für die Maus kenne ich den Code aber gibt es sowas auch für den Cursor?
Vielen Dank und viele Grüße
Sebastian

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Cursorposition auf dem Bildschirm ausles
09.10.2021 08:35:06
volti
Hallo Sebastian,
falls Du mit "Cursor" das aktive Excelfeld meinst, schau Dir nachfolgendes Beispiel an. Dort werden die Koordinaten der linken, oberen Ecke der Zelle ausgegeben.
Wenn Du den Mauscursor direkt auf diese Ecke fährst, sollten beide Positionen gleich sein.
Vielleicht ist es das, was Du suchst.
Code:

[Cc]

Private Declare PtrSafe Function GetCursorPos Lib "user32" ( _ lpPoint As POINTAPI) As Long Type POINTAPI X As Long Y As Long End Type Sub PosTest() Dim pt As POINTAPI, X As Integer, Y As Integer GetCursorPos pt ' Mausposition X = ActiveWindow.ActivePane.PointsToScreenPixelsX(ActiveCell.Left) Y = ActiveWindow.ActivePane.PointsToScreenPixelsY(ActiveCell.Top) Debug.Print pt.X, X, pt.Y, Y End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Cursorposition auf dem Bildschirm ausles
10.10.2021 07:01:29
Sebastian
Hi Karl Heinz,,
nein das meine ich leider nicht.
Ich brauche die Position eines Eingabefeldes im Chrome Browser. Früher habe ich das im IE ausgelesen. aber die neuen Browser haben ja nicht wirklich von Haus aus eine VBA Steuerung.
Ich benötige genau die Koordinaten da wo der Textcursor blinkt und auf Eingabe wartet :-)
Viele Grüße und Danke
Sebastian
AW: Cursorposition auf dem Bildschirm ausles
10.10.2021 09:12:23
volti
Hallo Sebastian,
jetzt habe ich es verstanden, aber ich glaube nicht, dass das möglich ist. Auch im IE nicht.
Wozu brauchst Du das bzw. was möchtest Du machen?
Wenn Du dort reinklicken möchtest um Text einzugeben, ermittle doch einfach im Vollbildmodus mit GetCurspos manuell die Koordinaten, um sie später im Makro zu verwenden. Hatte ich auch schon oft so gemacht und dann später mit Mouse_Event draufgeklickt.
Oder nutze z.B. Selenium
Hier ein Beispiel, wie man auf dem Bildschirm auf eine Position klicken kann.
Code:

[Cc][+][-]

Private Declare PtrSafe Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long Private Declare PtrSafe Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long Type POINTAPI x As Long y As Long End Type Private Declare PtrSafe Sub mouse_event Lib "user32" (ByVal dwFlags As Long, _ ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As LongPtr) Private Const MOUSEEVENTF_LEFTDOWN = &H2 ' left button down Private Const MOUSEEVENTF_LEFTUP = &H4 ' left button up Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Private Declare PtrSafe Function GetForegroundWindow Lib "user32" () As LongPtr Private Declare PtrSafe Function GetWindowRect Lib "user32" (ByVal hwnd As LongPtr, lpRect As RECT) As Long Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Sub MausKlick() ' Linke Maustaste an X,Y-Position klicken und 100ms warten Dim mCX As Long, mCY As Long, R As RECT mCX = 710: mCY = 58 ' Position => anpassen GetWindowRect GetForegroundWindow(), R ' Position Vordergrundfenster mCX = mCX + R.Left: mCY = mCY + R.Top ' dazu addieren SetCursorPos mCX, mCY ' Position setzen mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 Sleep 100 ' Zur Sicherheit etwas warten End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige