Súhrn
Ak chcete získať a nastaviť aktuálnu pozíciu kurzora, môžete Windows API (aplikačné programové rozhranie) hovoru do knižnice DLL knižnice Microsoft Windows (dynamic-link Library). Aktuálnu pozíciu možno získať pomocou funkcie GetCursorPos v programe USER32.DLL.
Ďalšie informácie
Microsoft Excel funkcia na získanie alebo nastavenie polohy kurzora nemá vstavanú funkciu. Príkaz Declare však môžete použiť v makre Microsoft Excel Visual Basic for Applications a volať funkciu Microsoft Windows a získať tak prístup k aktuálnej pozícii. Na nastavenie polohy kurzora môžete použiť aj inú funkciu SetCursorPos. Funkciu SetCursorPos možno použiť v štruktúre slučky na pohyb kurzora po obrazovke.
Spoločnosť Microsoft poskytuje príklady Visual Basic for Applications postupy iba na ilustráciu, bez záruk vyjadrených alebo implicitných, vrátane, ale nie len implicitných záruk obchodovateľnosti a/alebo vhodnosti na konkrétny účel. Postupy Visual Basic v tomto článku sa poskytujú "tak, ako sú" a spoločnosť Microsoft nezaručuje, že ich možno použiť vo všetkých situáciách. Profesionáli technickej podpory spoločnosti Microsoft vám môžu pomôcť vysvetliť funkčnosť konkrétneho makra, neupravia však tieto príklady s cieľom poskytnúť ďalšie funkcie a ani vám pomôžu vytvárať makrá podľa vašich konkrétnych potrieb. Ak máte obmedzené možnosti programovania, môžete sa poradiť s jedným z poskytovateľov riešení spoločnosti Microsoft. Poskytovatelia riešení ponúkajú širokú škálu služieb založených na poplatkoch vrátane vytvárania vlastných makier. Ďalšie informácie o poskytovateľoch riešení spoločnosti Microsoft získate na stránke Microsoft Customer Information Service na číslo (800) 426-9400.
PRÍKLADY
-
Do nového modulu zadajte nasledujúci kód:
' 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 -
Kliknite na ľubovoľné miesto v texte Get_Cursor_Pos rutiny a stlačením klávesu F5 spustite Get_Cursor_Pos makra.
Zobrazí sa okno s hlásením spolu so súradnicami aktuálnej pozície ukazovateľa myši. -
Kliknite na ľubovoľné miesto v texte Set_Cursor_Pos rutiny a stlačením klávesu F5 spustite Set_Cursor_Pos makra.
Kurzor sa bude diagonálne presúvať cez obrazovku.