Tóm tắt
Bạn có thể thực hiện một API Windows (giao diện lập trình ứng dụng) đến Một Thư viện Microsoft Windows DLL (Thư viện nối kết động) để lấy và đặt vị trí con trỏ hiện tại. Bạn có thể có được vị trí hiện tại bằng cách sử dụng hàm GetCursorPos trong USER32.DLL.
Thông tin Bổ sung
Microsoft Excel có chức năng dựng sẵn để tải hoặc đặt vị trí con trỏ. Tuy nhiên, bạn có thể dùng câu lệnh Khai báo trong một macro Microsoft Excel Visual Basic for Applications để gọi đến hàm Microsoft Windows truy nhập vào vị trí hiện tại. Bạn cũng có thể sử dụng một hàm khác SetCursorPos để đặt vị trí con trỏ. Bạn có thể sử dụng hàm SetCursorPos trong cấu trúc lặp để di chuyển con trỏ trên màn hình.
Microsoft cung cấp ví dụ về thủ tục Visual Basic for Applications chỉ dành cho hình minh họa, mà không có bảo hành được nêu rõ hoặc ngụ ý, bao gồm, nhưng không giới hạn đối với các đảm bảo ngụ ý về khả năng bán được và/hoặc thể lực cho một mục đích cụ thể. Các thủ Visual Basic trình trong bài viết này được cung cấp 'như hiện trạng' và Microsoft không đảm bảo rằng chúng có thể được sử dụng trong tất cả các tình huống. Mặc dù các chuyên gia hỗ trợ của Microsoft có thể giúp giải thích chức năng của một macro cụ thể, nhưng chúng sẽ không sửa đổi các ví dụ này để cung cấp chức năng bổ sung, nhưng chúng cũng sẽ giúp bạn xây dựng macro đáp ứng nhu cầu cụ thể của bạn. Nếu bạn có trải nghiệm lập trình hạn chế, bạn có thể muốn tham khảo một trong những Nhà cung cấp Giải pháp của Microsoft. Nhà cung cấp giải pháp cung cấp nhiều dịch vụ dựa trên phí, bao gồm việc tạo macro tùy chỉnh. Để biết thêm thông tin về Các nhà cung cấp Giải pháp Microsoft, hãy gọi cho Dịch vụ Thông tin Khách hàng của Microsoft theo số (800) 426-9400.
VÍ DỤ
-
Nhập mã sau đây vào mô-đun mới:
' 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 -
Bấm vào vị trí bất kỳ bên trong văn bản của Get_Cursor_Pos trình và nhấn phím F5 để chạy macro Get_Cursor_Pos kỳ.
Bạn sẽ thấy một hộp thông báo hiển thị với các tọa độ của vị trí hiện tại của con trỏ chuột. -
Bấm vào vị trí bất kỳ bên trong văn bản của Set_Cursor_Pos trình và nhấn phím F5 để chạy macro Set_Cursor_Pos kỳ.
Con trỏ sẽ di chuyển theo đường chéo xuống trên màn hình.