JSA宏批量插入直线,会出现偏移,求大佬帮忙看看为什么

我想实现每隔两行,在单元格边界上插入一条横线。但是越往后、横线就越往下偏,求大佬帮忙看看怎么能修复这个BUG。 代码如下: function DrwaLine() { var ws = ActiveSheet; for (let a = 2; a < 60; a += 2){ let StartX = ws.Range("B"+ a).Left; let StartY = ws.Range("B"+ a).Top; ws.Shapes.AddShape(msoShapeMixed, StartX, StartY, 50, 0); } } 效果见附图。
北京
浏览 106
收藏
点赞
分享
+1
5
+1
全部评论 5
 
皮皮
试下手动再设置一下Left, Top,别问为什么 function DrwaLine() { var ws = ActiveSheet; for (let a = 2; a < 60; a += 2){ let StartX = ws.Range("B"+ a).Left; let StartY = ws.Range("B"+ a).Top; let shape = ws.Shapes.AddShape(msoShapeMixed, StartX, StartY, 50, 0); shape.Left = StartX shape.Top = StartY } }
· 中国香港
回复
DOOM桑
有道理,重新给定位一下之前我输出过StartX 和StartY 的值,都是正确的,就是在AddShape时出现的偏差。确实可以重新定位来解决。更新WPS新版本后修复这个BUG了,还是感谢一下
· 北京
回复
 
会飞的鱼
会飞的鱼

KVP函数专家、创作者俱乐部成员

到官网下载安装下新版本的wps试下,我这运行了代码,问题没有重现。我的版本是19770
· 辽宁省
回复
DOOM桑
您好,我想问一下,当您删除B列后,再重新运行一下代码,是什么效果呢? 我又试了几次,在新建的sheet中首次运行就是正常的。当我删除列,或者在旁边多运行几次,BUG就出来了 我的版本是18205
· 北京
回复