加载项任务窗格和工作表窗口切换方法之一

WPS X64 版本号23870。

当然还有键盘快捷键的切换方法。SHIFT+F6

function ActiveSheetSetFocus(){
let basex = wps.ActiveWindow.PointsToScreenPixelsX(0);//取当前活动工作表A1单元格左上角顶点的屏幕横坐标
let basey = wps.ActiveWindow.PointsToScreenPixelsY(0);	//取当前活动工作表A1单元格左上角顶点的屏幕纵坐标	
let dpiX = wps.Application.ExecuteExcel4Macro(`CALL("user32","GetDpiForWindow","JJ",${Application.Hwnd})`) //取当前窗口的DPI分辨率,一般为96		
let izoom = wps.ActiveWindow.Zoom;    //工作表的缩放率 一般为 100		
console.log(basex,basey)		
let topp =  wps.ActiveWindow.PointsToScreenPixelsX(wps.ActiveCell.Offset(-1,0).Top) ;	//取当前窗口下当前活动单元格的向上偏移一行的单元格的左上角顶点距工作表A1单元格左上角顶点的垂直距离(默认为磅),换算为屏幕像素的值		
let	leftp = wps.ActiveWindow.PointsToScreenPixelsX(wps.ActiveCell.Offset(-1,0).Left) ;	//取当前窗口下当前活动单元格的向上偏移一行的单元格的左上角顶点距工作表A1单元格左上角顶点的水平距离(默认为磅),换算为屏幕像素的值
let x = parseInt(basex + leftp * izoom/100 * dpiX/72);	//计算当前活动单元格左上角顶点的屏幕像素横坐标。
let y = parseInt(0 + topp * izoom/100 * dpiX/72);	//计算当前活动单元格左上角顶点的屏幕像素纵坐标。
console.log(x,y)	
console.log(wps.ActiveCell.Offset(-1,0).Address())	
wps.ExecuteExcel4Macro(`CALL("user32","PostMessageA","JJJJJ",${wps.ActiveWindow.Hwnd},513,1,${y<<16|x})`);//调用系统API,模拟左键点击(x,y)坐标点。 鼠标左键按下		
wps.ExecuteExcel4Macro(`CALL("user32","PostMessageA","JJJJJ",${wps.ActiveWindow.Hwnd},514,0,${y<<16|x})`);}//调用系统API,模拟左键点击(x,y)坐标点。鼠标左键弹起
黑龙江省
浏览 83
收藏
5
分享
5 +1
4
+1
全部评论 4
 
南京的天
很想看懂,但真的,楼主能否加个说明
· 山西省
回复
恰同学少年
对代码进行了注释。不对的地方。请指正。
· 黑龙江省
回复
 
Hypnotist
Hypnotist

WPS寻令官 | WPS产品体验官

· 四川省
回复