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.