故事作者:自动化so酷

最近创作

看看TA的故事

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

已锁定

自动化so酷

总坛主

  • 帖子

    28
  • 精华

    0
  • 被关注

    6

论坛等级:侠客

注册时间:2020-03-02

普通 普通 如何晋级?

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

3399

0

2021-04-23 11:32:21

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


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


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


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


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


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

模块名称:DataProcessing.bmo

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


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


呈现结果:


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


NumDigAfterDec 改回 1 ,结果:


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


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


画面中调用:


呈现结果:



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

请填写推广理由:

本版热门话题

特别专题合集

共有265条技术帖

特别专题合集版区标兵

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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

西门子数字化工业支持中心网站服务须知

欢迎您来到西门子数字化工业支持中心网站!本网站及相关服务模块已集成SIEMENS ONEID一站式账户登录功能。同时,本网站使用了Cookie以增强网站导航、分析网站使用情况并协助我们开展营销和性能改进活动。继续浏览本网站,即表示您进一步同意并接受如下网站服务补充条款及网站隐私声明,包括关于Cookies信息收集和使用规则。

《网站服务补充条款》,以及

《网站隐私声明》,以及

您登录个人账户时须已同意《ONEID用户协议》《ONEID隐私声明》

访问此处可了解更多网站服务条款及声明。

继续浏览