使用zdAPI函数:取得当前鼠标位置回答P" />
乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>Excel</em> 求助用<em>VBA</em>移动<

<em>Excel</em> 求助用<em>VBA</em>移动<

作者:乔山办公网日期:

返回目录: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

相关阅读

  • <em>Excel</em> 求助用<em>VBA</em>移动<

  • 乔山办公网excel表格制作
  • cells(1,2).select或[B1].selectVBA execl如何控制Word的光标移动到其它位置,求各..." src="/uploads/tu/144.jpg" style="width: 400px; height: 267px;" />使用zdAPI函数:取得当前鼠标位置回答P
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网