5.1 前言
关于VBS操作EXCEL的文档不管在论坛上还是在网上,相关的脚本已经很多,但是依然有很多人在问这个问题,于是把我以前在论坛上发的一个集合帖子的脚本拿来,重新开个帖子,如果再有人问的话,可以把这个帖子发给他自学。
5.2 简介
在项目目录下有USRFILE文件夹,文件夹内有名称为:template_test.xlsxd的表格文件作为表格模板。脚本分为写往EXCEL里面写,和从EXCEL文件里面读取数据到WINCC变量里面。
5.2.1 写脚本实现的功能:
1) 检查模板文件十分存在,如果存在打开模板文件,脚本继续执行,如果不存在,弹出对话框提示创建模板。
2) 新文件以“yyyy-MM-dd”的格式保存,默认为当前日期,路径为项目录下Report文件夹内。
3) 检查Report目录下新文件夹的文件是否存在,如果存在则打开该文件,如果不存在,打开模板文件进行处理。
4) 把变量数据写入指定的单元格,并进行保存退出.
5) 脚本出现错误弹出提示框,提示找工程师处理。
5.2.2 画面及脚本相关说明
画面组态如下图:
创建8个内部变量TEST_R1……TEST_R8,类型是32位浮点数;
通过上面的”写入Excel”按钮把TEST_R1…TEST_R4四个变量写入到EXCEL表格里面;
下面的”自EXCEL中读”是把上面写入的变量数值读到TEST_R5…TEST_R8里面。
模板文件在项目目录下的”USRFILE emplate_test.xlsx”文件,可根据你的需要修改。
保存的文件在项目目录下的”Report”文件夹下以电脑日期为名称的xlsx为扩展名的表格文件。
Now2SQLDate():项目函数,是获取电脑日期转成”yyyy-MM-DD”格式的日期
5.3 详细脚本
5.3.1 写入EXCEL文件
详细脚本看附图
点击可看大图↑
5.3.2 自EXCEL文件中读
详细脚本看附图
点击可看大图↑
5.3.3 Now2SQLDate 函数
点击可看大图↑
5.4 扩展说明
脚本经过测试,执行没问题,关于EXCEL的操作,这也是最基本的,通过上面的这两个脚本,写入EXCEL脚本,进行稍加修改,可以实现把画面里面的参数变量写入到表格里面,然后保存到硬盘中,也可以防止电脑死机、PLC重启一些重要的生产参数丢失;如果再做一些修改,判断表格的行数位置,再把脚本放到全局脚本里面,定时执行,那就是一个自动抄表的报表功能了,如果配有打印机,每个时间段的最后一次抄表再执行打印功能,可以定时打印。这些功能在比较早以前都做过,不过当时的思路更复杂一些。
从EXCEL中读数据,可以实现上面的生产参数在WINCC或者PLC重启如果参数丢失使用按钮一键恢复。也可以根据工艺给的工艺参数,一键读取,省去键盘敲的工夫,或许还有别的功能,暂时没有想到。
脚本下载见1楼
如果有更多的需求和意见,欢迎留言。