作者:乔山办公网日期:
返回目录:excel表格制作
cells(1,2).select
或
[B1].select
使用zdAPI函数:
'取得当前鼠标位置回答
Public Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos" (lpPoint As POINTAPI) As Long
'设置当前鼠标位置
Public Declare Function SetCursorPos Lib "user32" Alias "SetCursorPos" (ByVal x As Long, ByVal y As Long) As Long
在对应工百作表中粘贴以下代度码(不要新建知模块!!道!)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If (Target.Column >= 2 Or Target.Column <= 8) And Target.Row = 1 Then '选定B1:H1时
Range("A1") = Target.Row 'A1显示选专定的行数属
Range("A2") = Target.Column 'A2显示选定的列数
End If
End Sub
代码如下,请参考:
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Private Const MOUSEEVENTF_ABSOLUTE = &H8000 '指定鼠标使用绝对坐标系,此时,屏幕在水平和垂直方向上均匀分割成65535×65535个单元
Private Const MOUSEEVENTF_MOVE = &H1 '移动鼠标
Private Const MOUSEEVENTF_LEFTDOWN = &H2 '模拟鼠标左键按下
Private Const MOUSEEVENTF_LEFTUP = &H4 '模拟鼠标左键抬起
Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Declare Function GetSystemMetrics32 Lib "user32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long '获取分辨率
Type POINTAPI
X As Long
Y As Long
End Type
Private Sub Screen_Click(ByVal X As Long, ByVal Y As Long) '移动并点击
mw = X / GetSystemMetrics32(0) * 65535
mh = Y / GetSystemMetrics32(1) * 65535
mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_MOVE, mw, mh, 0, 0
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
End Sub
Public Function getmouse_x_y() As POINTAPI '坐标
GetCursorPos getmouse_x_y
End Function
Sub DisplayMonitorInfo()
Dim X As Long, Y As Long
X = GetSystemMetrics32(0) ' 宽度(像素)
Y = GetSystemMetrics32(1) ' 高度(像素)
MsgBox "屏幕分e69da5e887aae799bee5baa6e997aee7ad94335辨率为:" & X & " × " & Y & " 像素"
End Sub
Sub GetPosition() '获得坐标
Debug.Print getmouse_x_y.X, getmouse_x_y.Y
[D2] = getmouse_x_y.X
[D3] = getmouse_x_y.Y
End Sub
Sub test()
Screen_Click [D2], [D3]
End Sub