Intouch报表-EXCEL报表制作

上传人:我*** 文档编号:126816207 上传时间:2020-03-28 格式:DOC 页数:13 大小:1.59MB
返回 下载 相关 举报
Intouch报表-EXCEL报表制作_第1页
第1页 / 共13页
Intouch报表-EXCEL报表制作_第2页
第2页 / 共13页
Intouch报表-EXCEL报表制作_第3页
第3页 / 共13页
Intouch报表-EXCEL报表制作_第4页
第4页 / 共13页
Intouch报表-EXCEL报表制作_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《Intouch报表-EXCEL报表制作》由会员分享,可在线阅读,更多相关《Intouch报表-EXCEL报表制作(13页珍藏版)》请在金锄头文库上搜索。

1、用EXCEL打印报表1. 原理首先根据报表要求,用INTOUCH的附件HISTDATA软件形成一个有规定数据的.CSV文件(逗号分隔文件,可用EXCEL打开)。这个.CSV文件是英文的,不符合一般报表的要求,只能提供数据。所以需要另设计一个空的EXCEL报表模版,再将.CSV文件的数据复制到报表中,形成完整的报表。通过INTOUCH可以自动产生.CSV,再通过EXCEL的宏程序打印报表,可以完成招呼打印和定时自动打印。如果有多个报表,需要形成多个.CSV文件和设计多个EXCEL报表。大致步骤如下:设计报表,确定一个报表的开始时间、时间总长度、个数据之间数据采样间隔,报表参数所对应得的标记名等(

2、如日报表的开始时间为0点,时间长度为24小时,数据采样间隔时间为小时)在InTouch中,按报表的需要,用脚本给一组专用的标记名赋值(如HDWSTARTTIME规定日报表的开始时间,HDWDBDIR规定历史纪录文件的目录,HDWTAGS规定报表内涵的标记名在InTouch脚本中,用HDWWRITEFILE=1形成一个.CSV文件用EXCEL设计报表的模版。在EXCEL中,用记录宏程序,将形成的.CSV文件中的数据导入EXCEL报表模版的数据区,然后打印。最后在EXCEL中将该宏程序设置为自动执行宏程序在生成.CSV文件的InTouch脚本中,加入StartApp函数,启动EXCEL印报表2.

3、生成.CSV文件Step1: 自动生成需要的标记名在INTOUCH开发环境中,将向导库中趋势历史趋势向导(HistData)放入窗口。这将自动形成若干标记名(Tag)。有关标记名以HDW开头加上它们的DDE的ITEM命名。 这些标记名说明如下:HDWDATADIR 消息型 历史数据文件的目录的路径名,可用函数赋值例如 HDWDataDir = HTGetLogDirectory();HDWDBDIR 消息型 InTouch 标记名字典的目录的路径名,可用函数赋值例如 HDWDBDir = InfoInTouchAppDir();HDWSTARTDATE 消息型 与$DateString相同格式

4、的数据采样开始日期HDWSTARTTIME 消息型 使用24 小时时钟的HH:MM:SS 格式的数据采样开始时间HDWDURATION 消息型 数据时间长度(报表时间总长度)可以用星期,天时,分,秒,等来表示下面是有效的字符:w 星期,d 天,h 小时,m 分,s 秒。允许使用小数值例如扩 .5s 表示 500 毫秒若只需一个样本请将 DURATION 设为 0 零HDWINTERVAL 消息型 采样间隔的时间长度可以用星期日小时分和秒来表示 例如1W 表示一星期允许 使用小数值例如用.25d 来表示6小时有效字符与HDDURATION 相同注意DURATION 和 INTERVAL 允许的最

5、大时间长度均为 6 周 这适用于所有请求类型日秒等 例如如果使用日则最大值为 42,7 天 x 6 周 = 42HDWTAGS 消息型 历史数据的标记名列表(报表中需要的标记名)以TagA,TagB,TagZ 格式输入,此外采样日期和或时间可以通过使用内部系统标记名$Date 和 $Time 来请求例如 $Date,TagA,TagB 或 $Time,TagA,TagB 或$Date,$Time,TagA,TagBHDWTAGS1, TAGS2,. 消息型 HDWTAGS 字符串在 WindowViewer 中的长度可以为131 个字符在Excel 中的长度可以为255 个字符字符串,可以通过

6、迭加标记名项目Tags1 Tags2 等来延长以适应更长字符串的要求,如果标记名需附加额外的标记名文本请在字符串末输入一个加号(+) 例如,TAGS=$Date,ProdLevel,ProdTemp,+TAGS1=ReactLevel,Temp,GasLevel,+TAGS2=MotorStatus注意不允许使用重复标记名,每个标记字符串的最大长度为 512字节HDWFILENAME 消息型 规定生成的.CSV文件的路径和名称例如,C:INTOUCHHDFILE.CSVHDWWRITEFILE 整型 当设置为1 时HistData 会将请求数据写入由FILENAME 项目名指定的文件,当文件更

7、新完成后WRITEFILE 会自动重置为0零STATUS 离散型 显示最后一次操作的状态1 表示成功,0 零表示出错ERROR 消息型 包含上次错误说明的字符串,如 STATUS 为1 则显示无,如STATUS 为 0 零则显示错误消息字符串前9个TAG规定数据的内容,HDWWRITEFILE=1是写.CSV文件的命令,最后两个用于检查状态和错误。写脚本时应注意:l HDWDBDir、HDWDataDir这两个标记名是规定路径的,可以用函数赋值。可以写在应用程序脚本内。l HDWFilename这个标记名是规定.CSV文件的路径和文件名。如果只打一种报表,也可以写在应用程序脚本内,否则应在形成

8、.CSV文件前指定。l HDWTags和后续的HDWTags1、HDWTags2这些标记名是规定.CSV文件的包含的标记名。如果只打一种报表,也可以写在应用程序脚本内,否则应在形成.CSV文件前指定。l HDWStartDate、HDWStartTime这两标记名是规定.CSV文件数据的起始日期和起始时间的。如果是招呼打印报表,人工输入时格式一定要正确。如果是自动打印报表可以计算得到,一般可以在条件脚本内规定。l HDWInterval、HDWDuratione这两标记名是规定.CSV文件的数据时间间隔和数据时间的总长度,如日报表分别为:1H(小时)和1D(1天)。l HDWWRITEFILE

9、 =1为生成.CSV文件,只有上述标记名义赋值后,才执行他。l ERROR这个标记名可以显示生成.CSV文件时是否有错误,调试时非常重要。例如:下面脚本生成一个日期由StartDate1规定,包括两个标记名PI-101,TI-101,日报表。可以复制在你的脚本中,修改一下就可以形成所需的.CSV文件。HDWStartDate =StartDate1;HDWStartTime =”00:00:00”;HDWDBDir = InfoInTouchAppDir();HDWDataDir = HTGetLogDirectory();HDWFilename = C:REPORT.csv;HDWTags

10、=$Date,$Time,PI-101,TI-101;HDWInterval = 1H;HDWDuration = 1D;HDWWRITEFILE=1;HDWDataDir = HTGetLogDirectory();HDWDBDir = InfoInTouchAppDir();HDWStartDate = #DTPicker1.Value; 时间控件名称HDWStartTime =00:00:00; 开始时间HDWFilename = C:REPORT.csv;HDWTags =$Date,$Time,zj_AO1,zj_AO2;HDWInterval = 1H;HDWDuration =

11、1D;HDWWRITEFILE=1;Step2: 招呼打印报表的情况如果是招呼打印(不定期打印,人工输入打印日期和时间的报表打印),则可以在INTOUCH中开一个窗口输入HDWStartDate1, HDWStartTime,HDWInterval,HDWDuration的参数。并做一个按钮,在动作脚本中给固定的参数赋值和最后令HDWWRITEFILE=1;脚本的例子形成的.CSV文件的例子Step3: 定时自动打印的情况如果是定时自动打印,需要在条件脚本(或数据改变脚本)中写代码完成。这里需要特别注意起始日期和时间。如:日报表示在0点以后打印的,所以需要通过计算得到前一天的日期,可以用下面语

12、句 HDWStartDate =StringFromTime( ($Date - 1)*86400, 1 )。举例:Step4: 运行INTOUCH,检查生成的.CSV文件。3. 建立EXCEL报表Step1: 设计一个报表格式。例如:先画出报头在EXCEL导入相应.CSV文件。找到相应.CSV文件,一步步导入选逗号分割,指定导入区域起点单元,为了更直观,可以用EXCEL的功能加一个趋势图。Step2: 做一个宏l 选菜单 工具宏录制新宏,起一个宏名(如mr1),确认。l 由于EXCEL不允许在有数据的区域导入数据,所以先删除前面导入的数据。选择数据区,按Del键l 在EXCEL重新导入相应.

13、CSV文件。重复刚才的步骤l 打印和保存(报表需要打印时)或另存(报表不需要打印时)。l 停止记录宏写VBA脚本,让宏自动执行l 菜单 工具宏VB编辑器l 双击ThisWorkBookl 在代码区选WorkBookl 在Private Sub _Open()函数中,加入Run(“宏名”)Application.Quit l 关闭VB编辑器,返回Workbook,确定报表的路径和文件名(如c:report1.xls) ,保存报表。这样,我们的报表就完成了。一打开这个报表,就会执行宏,然后退出。在调试时,可以迅速按Atrl+Break键停止宏执行。注:在另存的情况下,在宏中找到另存的路径和文件名,

14、用date,tim等变量加到文件名中。Step3: 用INTOUCH打开报表在INTOUCH的相应脚本中加一条语句,启动EXCEL:StartApp C:Program FilesMicrosoft OfficeOfficeexcel.exe c:report1.xls;这里,C:Program FilesMicrosoft OfficeOfficeexcel.exe 是EXCEL的路径和文件名,注意EXCEL的版本不同路径不一样。c:report1.xls是报表的路径和文件名,之间有一个空格。一个日报表的例子。语句说明:1)规定报表起始日期,2)规定报表起始时间,3)InTouch的路径,4)存储历史数据文件的路径,5).CSV文件的路径和文件名,6)报表包含的标记名,7)报表的采样间隔,8)报表的时间总长度,9)生成报表,10)启动相应的EXCEL文件。4. 参考应用程序的使用l 将文件REPORT.CSV和report1.xls复制到C盘根目录下。l 测试时可以用Ctrl+Brack,停止EXCEL的宏程序执行,以便观察宏程序是如何写的。l 为了顺利运行EXCEL报表,EXCEL的宏的安全级别已设的最低。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号