Oversigt
Du kan foretage et Windows API (application programming interface) til et Microsoft Windows DLL (Dynamic Link Library) for at hente og angive den aktuelle markørplacering. Den aktuelle position kan opnås ved hjælp af funktionen GetCursorPos i USER32.DLL.
Flere oplysninger
Microsoft Excel har ikke den indbyggede funktionalitet til at hente eller angive markørens placering. Du kan dog bruge Declare-sætningen i en Microsoft Excel Visual Basic for Applications makro til at kalde en Microsoft Windows-funktion for at få adgang til den aktuelle placering. Du kan også bruge en anden funktion SetCursorPos til at angive markørens placering. Funktionen SetCursorPos kan bruges i en løkkestruktur for at flytte markøren hen over skærmen.
Microsoft giver kun eksempler på Visual Basic for Applications-procedurer til illustration uden garanti, enten udtrykt eller underforstået, herunder, men ikke begrænset til stiltiende garantier for salgbarhed og/eller egnethed til et bestemt formål. Fremgangsmåderne Visual Basic i denne artikel leveres 'som de er og er' og Microsoft garanterer ikke, at de kan bruges i alle situationer. Selvom Microsofts supportmedarbejdere kan hjælpe med at forklare funktionaliteten i en bestemt makro, ændrer de ikke disse eksempler for at give ekstra funktionalitet, og de kan heller ikke hjælpe dig med at oprette makroer, der opfylder dine specifikke behov. Hvis du har begrænset programmeringsoplevelse, kan du kontakte en af Microsoft Solution-udbydere. Løsningsudbydere tilbyder en lang række gebyrbaserede tjenester, herunder oprettelse af brugerdefinerede makroer. Hvis du vil have mere at vide om Microsoft-løsningsudbydere, skal du ringe til Microsoft Kundeservice på (800) 426-9400.
EKSEMPLER
-
Skriv følgende kode i et nyt 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 -
Klik et vilkårligt sted i teksten i Get_Cursor_Pos, og tryk på F5 for at køre Get_Cursor_Pos makro.
Der vises et meddelelsesfelt med koordinaterne for den aktuelle placering af musemarkøren. -
Klik et vilkårligt sted i teksten i Set_Cursor_Pos, og tryk på F5 for at køre Set_Cursor_Pos makro.
Markøren bevæger sig diagonalt ned over skærmen.