加载项任务窗格和工作表窗口切换方法之一
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)坐标点。鼠标左键弹起
WPS寻令官 | WPS产品体验官