WPS17827版本使用宏代码操作对象位置错误问题解决方案
会飞的鱼
KVP函数专家、创作者俱乐部成员
近期windows系统32位版本的WPS更新到了17827,版本信息如下图所示。
1、问题说明
当使用VBA或JSA通过读取单元格TOP属性来指定对象的TOP属性,常用对象如图片、形状、图表等,此版本在设置对象TOP属性时,对象实际显示位置会和指定的坐标位置出现偏差,如下图所示。
VBA代码
Sub 指定对象位置()
ActiveSheet.Shapes(1).Top = Range("A30").Top
ActiveSheet.Shapes(2).Top = Range("A30").Top
ActiveSheet.Shapes(3).Top = Range("A30").Top
End Sub
ActiveSheet.Shapes(1).Top = Range("A30").Top
ActiveSheet.Shapes(2).Top = Range("A30").Top
ActiveSheet.Shapes(3).Top = Range("A30").Top
End Sub
JSA代码
function 指定对象位置()
{
ActiveSheet.Shapes(1).Top = Range("A30").Top
ActiveSheet.Shapes(2).Top = Range("A30").Top
ActiveSheet.Shapes(3).Top = Range("A30").Top
}
{
ActiveSheet.Shapes(1).Top = Range("A30").Top
ActiveSheet.Shapes(2).Top = Range("A30").Top
ActiveSheet.Shapes(3).Top = Range("A30").Top
}
2、解决方案
如果已经自动升级到17827版本,可以回退到官网上一个版本17150版本,下载地址如下。
17150版本效果正常,如下图所示。
3、提前预防
如果有二次开发的项目已交付客户使用,并且项目中有涉及到设置对象TOP属性的代码,如果客户目前使用的WPS还没有自动升级到17827版本,可以引导客户暂时关闭WPS自动升级,以免自动升级后影响项目正常使用,关闭自动升级步骤如下。
1、依次点击【WPS表格】、【菜单】、【配置和修复工具】
2、点击【高级(A)...】
3、点击【升级设置】,选择【有更新时提醒我】选项。
最后希望官方可以早日修复这个问题。
@金山办公、@WPS。
KVP函数专家、创作者俱乐部成员
社区管理员
创作者俱乐部成员
WPS寻令官