好好看看这个怎么做的-用EXCEL打印报表.doc_第1页
好好看看这个怎么做的-用EXCEL打印报表.doc_第2页
好好看看这个怎么做的-用EXCEL打印报表.doc_第3页
好好看看这个怎么做的-用EXCEL打印报表.doc_第4页
好好看看这个怎么做的-用EXCEL打印报表.doc_第5页
全文预览已结束

下载本文档

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

文档简介

用EXCEL打印报表1. 原理首先根据报表要求,用INTOUCH的附件HISTDATA软件形成一个有规定数据的.CSV文件(逗号分隔文件,可用EXCEL打开)。这个.CSV文件是英文的,不符合一般报表的要求,只能提供数据。所以需要另设计一个空的EXCEL报表,再将.CSV文件的数据复制到报表中,形成完整的报表。通过INTOUCH可以自动产生.CSV,在通过EXCEL的宏打印报表,可以完成招呼打印和定时自动打印。如果有多个报表,需要形成多个.CSV文件和设计多个EXCEL报表。2. 生成.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 天 x 6 周 = 42HDWTAGS 消息型 历史数据的标记名列表(报表中需要的标记名)以TagA,TagB,TagZ 格式输入,此外采样日期和或时间可以通过使用内部系统标记名$Date 和 $Time 来请求例如 $Date,TagA,TagB 或 $Time,TagA,TagB 或$Date,$Time,TagA,TagBHDWTAGS1, TAGS2,. 消息型 HDWTAGS 字符串在 WindowViewer 中的长度可以为131 个字符在Excel 中的长度可以为255 个字符字符串,可以通过迭加标记名项目Tags1 Tags2 等来延长以适应更长字符串的要求,如果标记名需附加额外的标记名文本请在字符串末输入一个加号(+) 例如,TAGS=$Date,ProdLevel,ProdTemp,+TAGS1=ReactLevel,Temp,GasLevel,+TAGS2=MotorStatus注意不允许使用重复标记名,每个标记字符串的最大长度为 512字节HDWFILENAME 消息型 规定生成的.CSV文件的路径和名称例如,C:INTOUCHHDFILE.CSVHDWWRITEFILE 整型 当设置为1 时HistData 会将请求数据写入由FILENAME 项目名指定的文件,当文件更新完成后WRITEFILE 会自动重置为0零STATUS 离散型 显示最后一次操作的状态1 表示成功,0 零表示出错ERROR 消息型 包含上次错误说明的字符串,如 STATUS 为1 则显示无,如STATUS 为 0 零则显示错误消息字符串前9个TAG规定数据的内容,HDWWRITEFILE=1是写.CSV文件的命令,最后两个用于检查错误。例如:下面脚本生成一个日期由StartDate1规定,包括两个标记名PI-101,TI-101,日班报表。复制,修改一下就可以形成所需的报表。HDWStartDate =StartDate1;HDWStartTime =”00:00:00”;HDWDBDir = InfoInTouchAppDir();HDWDataDir = HTGetLogDirectory();HDWFilename = C:REPORT.csv;HDWTags =$Date,$Time,PI-101,TI-101;HDWInterval = 1D;HDWDuration = 8H;HDWWRITEFILE=1;上面Tag中,有些项需要在生成.CSV文件之前赋值,其它项一般在设计时已确定。Step2: 招呼打印如果是招呼打印,则可以在INTOUCH中开一个窗口输入HDWStartDate1, HDWStartTime,HDWInterval,HDWDuration的参数。并做一个按钮,在动作脚本中给固定的参数赋值和最后令HDWWRITEFILE=1;形成的.CSV文件的例子Step3: 定时自动打印如果是定时自动打印,则可以建立两个标记名(例如:StartData1,StartTim1)将上次打印的时间和日期存入中,做为本次.CSV文件的开始日期和时间。根据规定的打印时间写一个时间触发的条件脚本,例如:Step4: 运行INTOUCH,检查生成的.CSV文件。注:固定的赋值可以写在INTOUCH初始化的脚本中或作为TAG的初始值。3. 建立EXCEL报表设计一个报表格式。例如:Step2: 做一个宏l 菜单 工具宏录制新宏,起一个宏名(如mr1),确认。l 在EXCEL打开相应.CSV文件。l 复制数据l 回到报表,粘贴数据l 在任一地方双击鼠标l 再到.CSV文件,存和退出l 回到报表,打印和保存(报表需要打印时)或另存(报表不需要打印时)l 停止记录宏写VBA脚本,自动执行宏l 菜单 工具宏VB编辑器l 双击ThisWorkBookl 在代码区选WorkBookl 在Private Sub _Open()函数中,加入Run(“宏名”)Application.Quit l 关闭VB编辑器,返回Workbook,确定报表的路径和文件名(如c:report1.xls) ,保存报表。这样,我们的报表就完成了。一打开这个报表,就会执行宏,然后退出。在调试时,可以迅速按Atrl+Break键停止宏执行。注:在另存的情况下,在宏中找到另存的路径和文件名,用date,tim等变量

温馨提示

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

评论

0/150

提交评论