Intouch报表-EXCEL报表制作_第1页
Intouch报表-EXCEL报表制作_第2页
Intouch报表-EXCEL报表制作_第3页
Intouch报表-EXCEL报表制作_第4页
Intouch报表-EXCEL报表制作_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用E*CEL打印报表原理首先根据报表要求,用INTOUCH的HISTDATA软件形成一个有规定数据的.CSV文件〔逗号分隔文件,可用E*CEL翻开〕。这个.CSV文件是英文的,不符合一般报表的要求,只能提供数据。所以需要另设计一个空的E*CEL报表模版,再将.CSV文件的数据复制到报表中,形成完整的报表。通过INTOUCH可以自动产生.CSV,再通过E*CEL的宏程序打印报表,可以完成招呼打印和定时自动打印。如果有多个报表,需要形成多个.CSV文件和设计多个E*CEL报表。大致步骤如下:设计报表,确定一个报表的开场时间、时间总长度、个数据之间数据采样间隔,报表参数所对应得的标记名等设计报表,确定一个报表的开场时间、时间总长度、个数据之间数据采样间隔,报表参数所对应得的标记名等〔如日报表的开场时间为0点,时间长度为24小时,数据采样间隔时间为小时〕在InTouch中,按报表的需要,用脚本给一组专用的标记名赋值在InTouch中,按报表的需要,用脚本给一组专用的标记名赋值〔如HDWSTARTTIME规定日报表的开场时间,HDWDBDIR规定历史纪录文件的目录,HDWTAGS规定报表内涵的标记名在InTouch脚本中,用在InTouch脚本中,用HDWWRITEFILE=1形成一个.CSV文件用E*CEL设计报表的模版。在E*CEL中,用记录宏程序,将形成的用E*CEL设计报表的模版。在E*CEL中,用记录宏程序,将形成的.CSV文件中的数据导入E*CEL报表模版的数据区,然后打印。最后在E*CEL中将该宏程序设置为自动执行宏程序在生成.CSV文件的InTouch脚本中,参加StartApp函数,启动E*CEL在生成.CSV文件的InTouch脚本中,参加StartApp函数,启动E*CEL印报表生成.CSV文件Step1:自动生成需要的标记名在INTOUCH开发环境中,将向导库中\趋势\历史趋势向导〔HistData〕放入窗口。这将自动形成假设干标记名〔Tag〕。有关标记名以HDW开头加上它们的DDE的ITEM命名。这些标记名说明如下:HDWDATADIR消息型历史数据文件的目录的路径名,可用函数赋值例如HDWDataDir=HTGetLogDirectory();HDWDBDIR消息型InTouch标记名字典的目录的路径名,可用函数赋值例如HDWDBDir=InfoInTouchAppDir();HDWSTARTDATE消息型与$DateString一样格式的数据采样开场日期HDWSTARTTIME消息型使用24小时时钟的HH:MM:SS格式的数据采样开场时间HDWDURATION消息型数据时间长度〔报表时间总长度〕可以用星期,天时,分,秒,等来表示下面是有效的字符:w星期,d天,h小时,m分,s秒。允许使用小数值例如扩.5s表示500毫秒假设只需一个样本请将DURATION设为0零HDWINTERVAL消息型采样间隔的时间长度可以用星期日小时分和秒来表示例如1W表示一星期允许使用小数值例如用.25d来表示6小时有效字符与HDDURATION一样注意DURATION和INTERVAL允许的最大时间长度均为6周这适用于所有请求类型日秒等例如如果使用日则最大值为42,7天*6周=42HDWTAGS消息型历史数据的标记名列表〔报表中需要的标记名〕以TagA,TagB,TagZ格式输入,此外采样日期和或时间可以通过使用部系统标记名$Date和$Time来请求例如"$Date,TagA,TagB"或"$Time,TagA,TagB"或"$Date,$Time,TagA,TagB"HDWTAGS1,TAGS2,....消息型HDWTAGS字符串在WindowViewer中的长度可以为131个字符在E*cel中的长度可以为255个字符字符串,可以通过迭加标记名工程Tags1Tags2等来延长以适应更长字符串的要求,如果标记名需附加额外的标记名文本请在字符串末输入一个加号〔+〕例如,TAGS="$Date,ProdLevel,ProdTemp,+"TAGS1="ReactLevel,Temp,GasLevel,+"TAGS2="MotorStatus"注意不允许使用重复标记名,每个标记字符串的最大长度为512字节HDWFILENAME消息型规定生成的.CSV文件的路径和名称例如,C:\INTOUCH\HDFILE.CSVHDWWRITEFILE整型当设置为1时HistData会将请求数据写入由FILENAME工程名指定的文件,当文件更新完成后WRITEFILE会自动重置为0零STATUS离散型显示最后一次操作的状态1表示成功,0零表示出错ERROR消息型包含上次错误说明的字符串,如STATUS为1则显示无,如STATUS为0零则显示错误消息字符串前9个TAG规定数据的容,HDWWRITEFILE=1是写.CSV文件的命令,最后两个用于检查状态和错误。写脚本时应注意:HDWDBDir、HDWDataDir这两个标记名是规定路径的,可以用函数赋值。可以写在应用程序脚本。HDWFilename这个标记名是规定.CSV文件的路径和文件名。如果只打一种报表,也可以写在应用程序脚本,否则应在形成.CSV文件前指定。HDWTags和后续的HDWTags1、HDWTags2这些标记名是规定.CSV文件的包含的标记名。如果只打一种报表,也可以写在应用程序脚本,否则应在形成.CSV文件前指定。HDWStartDate、HDWStartTime这两标记名是规定.CSV文件数据的起始日期和起始时间的。如果是招呼打印报表,人工输入时格式一定要正确。如果是自动打印报表可以计算得到,一般可以在条件脚本规定。HDWInterval、HDWDuratione这两标记名是规定.CSV文件的数据时间间隔和数据时间的总长度,如日报表分别为:1H〔小时〕和1D〔1天〕。HDWWRITEFILE=1为生成.CSV文件,只有上述标记名义赋值后,才执行他。ERROR这个标记名可以显示生成.CSV文件时是否有错误,调试时非常重要。例如:下面脚本生成一个日期由StartDate1规定,包括两个标记名PI-101,TI-101,日报表。可以复制在你的脚本中,修改一下就可以形成所需的.CSV文件。HDWStartDate=StartDate1;HDWStartTime=〞00:00:00〞;HDWDBDir=InfoInTouchAppDir();HDWDataDir=HTGetLogDirectory();HDWFilename="C:\REPORT.csv";HDWTags="$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="1D";HDWWRITEFILE=1;Step2:招呼打印报表的情况如果是招呼打印〔不定期打印,人工输入打印日期和时间的报表打印〕,则可以在INTOUCH中开一个窗口输入HDWStartDate1,HDWStartTime,HDWInterval,HDWDuration的参数。并做一个按钮,在动作脚本中给固定的参数赋值和最后令HDWWRITEFILE=1;脚本的例子形成的.CSV文件的例子Step3:定时自动打印的情况如果是定时自动打印,需要在条件脚本〔或数据改变脚本〕中写代码完成。这里需要特别注意起始日期和时间。如:日报表示在0点以后打印的,所以需要通过计算得到前一天的日期,可以用下面语句HDWStartDate=StringFromTime(($Date-1)*86400,1)。举例:Step4:运行INTOUCH,检查生成的.CSV文件。建立E*CEL报表Step1:设计一个报表格式。例如:先画出报头在E*CEL导入相应.CSV文件。找到相应.CSV文件,一步步导入 选逗号分割,指定导入区域起点单元, 为了更直观,可以用E*CEL的功能加一个趋势图。Step2:做一个宏选菜单工具\宏\录制新宏,起一个宏名〔如mr1〕,确认。由于E*CEL不允许在有数据的区域导入数据,所以先删除前面导入的数据。选择数据区,按Del键在E*CEL重新导入相应.CSV文件。重复刚刚的步骤打印和保存〔报表需要打印时〕或另存(报表不需要打印时)。停顿记录宏写VBA脚本,让宏自动执行菜单工具\宏\VB编辑器双击ThisWorkBook在代码区选WorkBook在PrivateSub_Open()函数中,参加Run(“宏名〞)Application.Quit关闭VB编辑器,返回Workbook,确定报表的路径和文件名(如c:\report1.*ls),保存报表。这样,我们的报表就完成了。一翻开这个报表,就会执行宏,然后退出。在调试时,可以迅速按Atrl+Break键停顿宏执行。注:在另存的情况下,在宏中找到另存的路径和文件名,用date,tim等变量加到文件名中。Step3:用INTOUCH翻开报表在INTOUCH的相应脚本中加一条语句,启动E*CEL:StartApp"C:\ProgramFiles\MicrosoftOffice\Office\e*cel.e*ec:\report1.*ls";这里,C:\ProgramFiles\MicrosoftOffice\Office\e*cel.e*e是E*CEL的路径和文件名,注意E*CEL的版本不同路径不一样。c:\report1.*ls是报表的路径和文件名,之间有一个空格。一个日报表的例子。语句说明:1〕规定报表起

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论