Sammendrag
Du kan foreta et Windows API-kall (application programming interface) til en Microsoft Windows-DLL (dynamisk koblingsbibliotek) for å hente og angi gjeldende markørposisjon. Den gjeldende posisjonen kan hentes ved hjelp av GetCursorPos-funksjonen i USER32.DLL.
Mer informasjon
Microsoft Excel har ikke den innebygde funksjonaliteten for å hente eller angi markørposisjonen. Du kan imidlertid bruke Declare-setningen i en Microsoft Excel Visual Basic for Applications til å kalle en Microsoft Windows-funksjon for å få tilgang til gjeldende posisjon. Du kan også bruke en annen funksjon SetCursorPos til å angi markørposisjonen. SetCursorPos-funksjonen kan brukes i en løkkestruktur for å flytte markøren over skjermen.
Microsoft gir eksempler på Visual Basic for Applications prosedyrer bare for illustrasjon, uten garanti enten uttrykt eller underforstått, inkludert, men ikke begrenset til de underforståtte garantiene om kjøpbarhet og/eller egnethet for et bestemt formål. Fremgangsmåtene Visual Basic i denne artikkelen leveres som de er, og Microsoft garanterer ikke at de kan brukes i alle situasjoner. Microsoft-kundestøtteteknikere kan hjelpe deg med å forklare funksjonaliteten til en bestemt makro, men de vil ikke endre disse eksemplene for å gi ekstra funksjonalitet, og de vil heller ikke hjelpe deg med å konstruere makroer for å dekke dine spesifikke behov. Hvis du har begrenset programmeringsopplevelse, kan det være lurt å ta kontakt med en av Microsofts løsningsleverandører. Løsningsleverandører tilbyr et bredt spekter av avgiftsbaserte tjenester, inkludert oppretting av egendefinerte makroer. Hvis du vil ha mer informasjon om Microsoft Solution Providers, kan du ringe Microsofts kundestøttetjeneste på (800) 426-9400.
EKSEMPLER
-
Skriv inn følgende kode i en ny modul:
' Access the GetCursorPos function in user32.dll
Declare Function GetCursorPos Lib "user32" _
(lpPoint As POINTAPI) As Long
' Access the GetCursorPos function in user32.dll
Declare Function SetCursorPos Lib "user32" _
(ByVal x As Long, ByVal y As Long) As Long
' GetCursorPos requires a variable declared as a custom data type
' that will hold two integers, one for x value and one for y value
Type POINTAPI
X_Pos As Long
Y_Pos As Long
End Type
' Main routine to dimension variables, retrieve cursor position,
' and display coordinates
Sub Get_Cursor_Pos()
' Dimension the variable that will hold the x and y cursor positions
Dim Hold As POINTAPI
' Place the cursor positions in variable Hold
GetCursorPos Hold
' Display the cursor position coordinates
MsgBox "X Position is : " & Hold.X_Pos & Chr(10) & _
"Y Position is : " & Hold.Y_Pos
End Sub
' Routine to set cursor position
Sub Set_Cursor_Pos()
' Looping routine that positions the cursor
For x = 1 To 480 Step 20
SetCursorPos x, x
For y = 1 To 40000: Next
Next x
End Sub -
Klikk hvor som helst i teksten i Get_Cursor_Pos rutinen, og trykk F5 for å kjøre Get_Cursor_Pos makroen.
Du vil få en meldingsboks som vises med koordinatene for gjeldende posisjon for musepekeren. -
Klikk hvor som helst i teksten i Set_Cursor_Pos rutine, og trykk F5 for å kjøre Set_Cursor_Pos makroen.
Markøren flyttes diagonalt nedover over skjermen.