如何用WPS JS宏实现查找的功能?

一、与 VBA 窗体的差异

WPS JSA 也提供了用户窗体,用户也可以通过拖控件的方式,制作自己的对话框,以完成宏编程中的交互任务。

但它与 VBA 中的用户窗体有很大的不同:

  1. 界面与事件逻辑分离,界面元素的绘制是一个模块,事件逻辑放在之外的模块,不是嵌入到窗体界面模块的。
  2. 界面元素的 Name 属性不可修改,属性编辑器中也不提供这个属性。虽然在官方文档上说的是支持修改,但从 JSA 事件订阅入口,即可知道,Name 属性可能在以后的升级版本中也无法修改,因为它的名称不变,才能方便事件订阅,也就是事件订阅机制锁死了这方面的改进的可能性。
  1. 界面对象绘制完成后,它是一个实例,不是一个类型,不允许使用 new 语句,来构造它的新实例
  2. 只有顶级容器,也就是窗体本身有 Controls 成员,且它是一个方法,不是集合,它只接受字符串的 Name 参数,不接受 Index 参数,且 Name 参数不可省,无法直接得到整个子控件集合
  1. 因为无法得到整个子控件集合,也就无法对它进行动态的添加控件

  1. 相较于 VBA 的用户窗体,JSA 的用户窗体太死板了,主要体现在:
    1. 不能对控件集合,动态增删新控件,动态性太差,想要玩儿点花活儿,比如按需求动态生成界面,是不可能的。当然,就这一点而言,因为这只是初版,也许以后升级可以支持这个,这本身也不会破坏现有的规则。只需要在不给 Controls(Name) 传递参数时,返回整个控件集合就好,这样就可以在这个集合上进行动态增删控件了。也即只需要增量改进即可,其它容器控件添加上 Controls(Name) 方法,也不是难事儿。
    2. 修改控件元素的 Name 是无效的,简单的界面还好,控件多了,分组多了,很容易乱套
    1. 创建的窗体界面,它不是一个类型,而是一个实例,不允许new 出新实例,这一点都不面向对象

基于以上了解,JSA 的用户窗体,还非常初级,死板而孱弱,功能也不健全。直接用基于网页的 HTA 都要比它强。

还不如直接在文档中使用代码绘制控件,用这种方式封装出一个库,也比现在这个要强,要好用。

渣渣渣。。。也就将将满足可用,远远谈不上强大,更没有任何灵活性。

希望官方推倒重来,这套界面,无论是类型系统,还是窗体模块的组织形式,事件的订阅机制,整个都太差劲了,远古 UI 也比这个健全、强大吧。

.NET WinForm 风格的 UI 就很不错,既灵活,又强大。建议用这套风格实现一套 UI。

勾选复选框时,在A1单元格出现其对应的值... 勾选复选框时,在A1单元格出现其对应的值


· 用力答题,不用力生活

这个是可以通过WPS实现的

你对这个回答的评价是?


很抱歉,这个问题我们无法回答,您可以问问身边的人或者到相关的单位,祝您生活愉快。

你对这个回答的评价是?

下载百度知道APP,抢鲜体验

使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。

我要回帖

更多关于 excel批量查找宏 的文章

 

随机推荐