故事作者:自动化so酷

最近创作

看看TA的故事

i聊技术| 如何处理常用的重复性 VB 脚本?

已锁定

自动化so酷

总坛主

  • 帖子

    28
  • 精华

    0
  • 被关注

    5

论坛等级:侠客

注册时间:2020-03-02

普通 普通 如何晋级?

i聊技术| 如何处理常用的重复性 VB 脚本?

3053

0

2021-04-15 16:07:32

还记得上期格式化累计量带千位分隔符输出的分享吗?


收到了一个反馈,有看官还真用上了。看来没白分享。可是也提出了新问题,在用户实际现场用的时候大概有个20 来个数据需要千位分隔符来显示大数。可当这 20 来个脚本都编写完成后,用户提出数据显示的小数位为 1 位,精度不够,希望改成显示两位小数位。


其实这倒也不难,按照上期讲到的 Formatnumber 函数的用法中讲到的参数 NumDigAfterDec 的解释,把这个参数值从 1 改到 2 也就解决问题了。


但是,20 多个脚本都已经写完了,并且还分布在了多个不同的画面里,挨个找出来改一遍工作量不小,而且还容易漏掉。有没有什么好的办法改一个地方就全改了呢?


其实也不是不可以,从上期的脚本看,看懂了也就明白了。实际每一个“静态文本”所执行的脚本都是一样的,无非就是变量名不同而已。那其实就可以把这种重复性的脚本编写成函数调用就 ok 了。同时也解决了改一处则改所有的问题。


打开全局 VBS 脚本编辑器,创建一个项目模块。在这个模块中,编写函数如下:


模块名称:DataProcessing.bmo

函数名称:FormatDataDisplay 函数传入参数:tagName 。调用该函数时只需要传入变量名即可。


画面中的静态文本调用该函数:


呈现结果:


如果用户再需要将小数位精度改回 1 位时,也只需要一次修改函数即得到统一结果了。


NumDigAfterDec 改回 1 ,结果:


抱着多为用户想一想的心态再多考虑了一下。很有会可能出现有些地方需要显示的是整数,而有些地方需要的小数点后位数是 1 也可能是 2 。


其实只要考虑周全了,把函数写得更灵活一些就好了。干脆就把小数位作为参数接口放到函数定义中,调用时直接传入所需的小数位。定义一个新的函数:


画面中调用:


呈现结果:



i聊技术| 如何处理常用的重复性 VB 脚本? 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

自动化so酷

共有79条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。