1、上下滚动表格:在Excel工作表中,选择某个单元格,然后上下滚动滚轮,表格将上下滚动。这有点类似点击滚动条的上下箭头。但点击滚动条的上下箭头每次只能滚动一行, 而滚动鼠标滚轮可以滚动一行或多行。在Windows XP或Windows Vista中,可以在控制面板中设置每次滚动的行数。以Vista为例,方法是:单击“开始→控制面板→鼠标”,d出“鼠标属性”对话框,选择“滑轮”选 项卡,在“垂直滚动”区域中,选择“一次滚动下列行数”,并设置所需的数量。如果选择“一次滚动一个屏幕”,则每滚动一次滚轮,Excel表格将滚动屏幕 所显示的行数,相当于按PageUp或PageDown键。这种方法同样适用于Word或在浏览器中浏览网页。
2、左右滚动表格:在表格中按下滚轮,鼠标变成下面的形状,然后左右拖动鼠标,即可左右滚动表格,如果上下拖动鼠标,也可上下滚动表格。当鼠标离按下的地方越远,滚动的速度就越快。再次按下鼠标或滚动一下滚轮会取消这种滚动。
上不是有么,就是懒人办公插件(LazyOffice)
附一个网上搜到的下载页面:
网页链接
如果只是获得窗口标题,按键精灵中自带的一些方法也能实现
//下面这句是按查找方式(模糊),遍历符合窗口类名(0)且标题("Excel")的句柄,保存到数组(HwndEx)里
HwndEx = PluginWindowSearchEx(0,"Excel",0)
MsgBox "查找到符合的窗口句柄为:"& HwndEx
//下面这句用于分割字符串,将获得的句柄组分割
dim MyArray
MyArray = Split(HwndEx, "|")
If UBound(MyArray)>=0 Then
i=0
For UBound(MyArray)
//下面这句将字符串转换成数值
//sText = PluginWindowGetText(Clng(MyArray(i)))
//Msgbox "第 "& i+1 & " 个窗口句柄为:"& Clng(MyArray(i))
Msgbox "第 "& i+1 & " 个窗口句柄为:"& Clng(MyArray(i)) & ";完整标题为:" & PluginWindowGetText(Clng(MyArray(i)))
i=i+1
Next
End If
请问进程ID取窗口句柄 用哪个API啊 求教~
你是什么语言??VB还是C++?
给你个VB CODE :
Function GetQQpath()
Dim ps, s '获取QQ进程所存在的路径
s = "qqexe"
For Each ps In GetObject("winmgmts:\\\root\cimv2:win32_process")instances_ '循环进程
If UCase(psName) = UCase(s) Then
Form1Label1Caption = psexecutablepath
GoTo q
End If
Next
q:
End Function
这个可以用知道进程名就可以知道程序路径了,原理很简单。自己摸索、
(针对新手: 结果显示在label1上面。否则会出现缺少对象)
我的例子:
Public Const SW_SHOWNORMAL As Long = 1&
Public Sub showexcel ()
dim hwnd as long
dim tem as long
hwnd = FindWindow(vbNullString, "这里填上你的excel表格打开之后任务管理器中应用程序列表对这个窗体的命名(如Microsoft Excel - testxlsx)") '这里的vbNullString 指明了是空字符串也就是在所有程序标题名中找你给的标题名
tem = ShowWindow(hwnd, SW_SHOWNORMAL) '在这里SW_SHOWNORMAL等同于1&,设置窗体恢复最小化
xlAppVisible = True
End Sub
可能窗口启动为最小化状态这种状态下visible属性是没有用的无法设置窗口可见,要先恢复窗口状态
用api解决吧很方便刚好之前弄了个小程序用到这个功能
用到两个api 分别是findwindow和showwindow,声明去百度一下添加在一个模块中声明成public,以便调用
首先用findwindow获取excel窗体的句柄存在hwnd变量中然后用showwindow将已经最小化的excel窗体恢复正常窗口然后就可以用excelapplication对象的visible属性设置为可见状态了
在有需要的时候call showexcel就可以,或者将代码加到你的 *** 作中
希望能帮到你
SetCapture
函数功能:该函数在属于当前线程的指定窗口里设置鼠标捕获。一旦窗口捕获了鼠标,所有
鼠标输入都针对该窗口,无论光标是否在窗口的边界内。同一时刻只能有一个窗口捕获鼠标。
如果鼠标光标在另一个线程创建的窗口上,只有当鼠标键按下时系统才将鼠标输入指向指定
的窗口。
函数原型:HWND SetCapture(HWND hwnd);
参数:
hWnd:当前线程里要捕获鼠标的窗口句柄。
返回值:返回值是上次捕获鼠标的窗口句柄。如果不存在那样的句柄,返回值是NULL。
备注:只有前台窗口才能捕获鼠标。如果一个后台窗口想捕获鼠标,则该窗口仅为其光标热
点在该窗口可见部份的鼠标事件接收消息。另外,即使前台窗口已捕获了鼠标,用户也可点
击该窗口,将其调入前台。当一个窗日不再需要所有的鼠标输入时,创建该窗口的线程应当
调用函数ReleaseCapture来释放鼠标。此函数不能被用来捕获另一进程的鼠标输入。
Windows 95:调用SetCaptune会引起失去鼠标捕获的窗口接收一个WM_CAPTURECHANGED
消息。
速查:头文件:Winuserh:输入库:user32lib。
声明:
Declare Function SetCapture Lib "user32" Alias "SetCapture" (ByVal hwnd As Long) As Long
VBA毕竟不是VB,很多功能实现不了那也没办法的。
FindWindow('Shell_TrayWnd',nii);
不知道这能帮助你么
补充:那这样试试(这里的Microsoft Visual Basic是窗口标题名)
Dim hwnd As Long
hwnd = FindWindow(vbNullString, "Microsoft Visual Basic")
If hwnd = 0 Then
Label1Caption = "程序未运行"
Timer1Enabled = True
Exit Sub
End If
If hwnd <> 0 Then
Label1Caption = "程序已运行"
End If
再再补充:那不好意思了,爱莫能助了,下班~- -|
以上就是关于Excel VBA userform scrollbars 与 鼠标滚轮全部的内容,包括:Excel VBA userform scrollbars 与 鼠标滚轮、按键精灵 //获取EXCEL工作簿标题 Plugin.Plug.FindWindows PID,PRO,HWND,P 这是用的什么插件、[求助] VBA API获取窗口句柄 另存为指定文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)