iFIX历史数据报表使用经验总结
- 格式:pdf
- 大小:351.63 KB
- 文档页数:1
excel在财务报表中的应用心得体会在现代财务管理中,财务报表是一项重要的工作。
财务报表反映了一个企业的财务状况和经营情况,为企业的决策提供了重要的参考依据。
而Excel作为一款功能强大的电子表格软件,可以有效地帮助财务人员完成财务报表的制作和分析。
在实践中,我深刻体会到了Excel在财务报表中的应用价值和优势。
首先,Excel提供了丰富的数据处理和计算功能,使得财务报表的编制更加便捷高效。
在财务报表制作过程中,我们需要对大量的原始数据进行整理和计算。
Excel提供了诸如排序、筛选、求和等基本数据处理功能,可以快速准确地完成数据的整理和汇总。
此外,Excel还支持各种复杂的公式和函数,如VLOOKUP、SUMIF等,可以进行更加精细的数据计算和统计分析。
通过这些功能的应用,我能够更加高效地处理数据,大大提升了财务报表的制作效率。
其次,Excel的图表功能可以直观地展现财务数据,提升报表的可读性和可理解性。
财务报表中的大量数据很难直接被人们理解和把握,而图表的应用可以将抽象的数据转化为直观的图形,使得财务数据更加易于理解和分析。
Excel中的图表功能非常强大,用户可以根据需要选择不同类型的图表,并对图表的样式进行个性化调整。
通过将财务数据以图表的形式展现,我能够更好地观察数据的变化趋势、对比不同时间段的数据情况,从而更全面地把握企业的财务状况和经营情况。
此外,Excel还提供了灵活的数据分析工具,对财务报表进行深入的数据挖掘和分析。
财务报表中的数据蕴含着丰富的信息和潜在的关联性,通过数据分析,我们可以更好地理解数据背后的规律和问题。
Excel中的数据透视表和数据透视图是非常有用的工具,可以帮助我们对大量数据进行分类、汇总和分析。
通过透视表的使用,我可以快速得到各个部门、项目或产品的财务数据总结,发现财务异常和问题,并及时采取相应的措施。
此外,Excel还支持宏的编写,以及其他高级的数据分析功能,如线性回归、傅里叶分析等,进一步拓展了数据分析的能力和深度。
在iFix中采用ODBC制作历史报表具体步骤如下:Step 1: 打开SCU中的Task Configuration,增加HTC.EXE和WSQLODC.EXE两个任务,并将它们设置成为后台运行状态;Step 2: 启动iFix,点击工具栏上的按钮打开Historical Assign,添加所需监控的数据点,并设置历史数据的采样速度。
Step 3: 打开任务控制,查看是否已经启动HTC。
Step 4: 在Globals\User下面添加三个字符型(vtString)变量,分别命名为strStartTime, strEndTime 和Interval。
新建一幅画面,如图如示,在画面上布置3个DATALINK分别指向strStartTime, strEndTime 和Interval,并设置成In place(即允许修改)。
strStartTimestrEndTimeIntervalStep 5:为画面上的各个按钮写代码,最好先将各按钮注册——即将鼠标移到按钮上方,按右键弹出菜单,选择Edit Script。
在VB Editor的工具菜单中的Reference(引用)中选中Microsoft Excel 9.0 Object Library和Microsoft ActiveX Data Objects,如下图所示。
然后在各按钮的处理程序中添加相应代码。
内容如下(可将下列代码直接COPY到你的VB编辑器中,覆盖因为注册产生的空代码):‘运行状态画面初始化Private Sub CFixPicture_Initialize()CommandButton1_ClickCommandButton2_Clickuser.Interval.CurrentValue = "00:00:30"End Sub‘组态状态画面初始化Private Sub CFixPicture_InitializeConfigure()user.strEndTime.CurrentV alue = "报表结束时间"user.strStartTime.CurrentValue = "报表开始时间"End Sub'设当前时间为报表开始时间Private Sub CommandButton1_Click()Dim curTime As StringcurTime = NowDim curmonth, curday, curhour, curminute, cursecond As Stringcurmonth = IIf(Month(curTime) < 10, "0" & Month(curTime), Month(curTime)) curday = IIf(Day(curTime) < 10, "0" & Day(curTime), Day(curTime))curhour = IIf(Hour(curTime) < 10, "0" & Hour(curTime), Hour(curTime))curminute = IIf(Minute(curTime) < 10, "0" & Minute(curTime), Minute(curTime)) cursecond = IIf(Second(curTime) < 10, "0" & Second(curTime), Second(curTime)) user.strStartTime.CurrentValue = Year(curTime) & "-" & curmonth & "-" & curday _& " " & curhour & ":" & curminute & ":" & cursecond End Sub'设当前时间为报表结束时间Private Sub CommandButton2_Click()Dim curTime As StringcurTime = NowDim curmonth, curday, curhour, curminute, cursecond As Stringcurmonth = IIf(Month(curTime) < 10, "0" & Month(curTime), Month(curTime))curday = IIf(Day(curTime) < 10, "0" & Day(curTime), Day(curTime))curhour = IIf(Hour(curTime) < 10, "0" & Hour(curTime), Hour(curTime))curminute = IIf(Minute(curTime) < 10, "0" & Minute(curTime), Minute(curTime)) cursecond = IIf(Second(curTime) < 10, "0" & Second(curTime), Second(curTime)) user.strEndTime.CurrentV alue = Year(curTime) & "-" & curmonth & "-" & curday & " " _& curhour & ":" & curminute & ":" & cursecondEnd Sub'打印此前10分钟历史报表,只是设置时间值,打印仍要调用打印程序Private Sub CommandButton3_Click()Dim curTime As StringcurTime = NowDim curmonth, curday, curhour, curminute, cursecond As Stringcurmonth = IIf(Month(curTime) < 10, "0" & Month(curTime), Month(curTime))curday = IIf(Day(curTime) < 10, "0" & Day(curTime), Day(curTime))curhour = IIf(Hour(curTime) < 10, "0" & Hour(curTime), Hour(curTime))curminute = IIf(Minute(DateAdd("n", -10, curTime)) < 10, "0" & _Minute(DateAdd("n", -10, curTime)), Minute(DateAdd("n", -10, curTime))) cursecond = IIf(Second(curTime) < 10, "0" & Second(curTime), Second(curTime)) user.strStartTime.CurrentValue = Year(curTime) & "-" & curmonth & "-" & curday & _" " & curhour & ":" & curminute & ":" & cursecond curminute = IIf(Minute(curTime) < 10, "0" & Minute(curTime), Minute(curTime)) user.strEndTime.CurrentV alue = Year(curTime) & "-" & curmonth & "-" & curday & _" " & curhour & ":" & curminute & ":" & cursecond End Sub'打印当天报表,只是设置时间值,打印仍要调用打印程序Private Sub CommandButton4_Click()Dim curTime As StringcurTime = NowDim curmonth, curday, curhour, curminute, cursecond As Stringcurmonth = IIf(Month(curTime) < 10, "0" & Month(curTime), Month(curTime))curday = IIf(Day(curTime) < 10, "0" & Day(curTime), Day(curTime))user.strStartTime.CurrentValue = Year(curTime) & "-" & curmonth & "-" & curday _& " " & "00:00:00"user.strEndTime.CurrentV alue = Year(curTime) & "-" & curmonth & "-" & curday _& " " & "23:59:59"End Sub'打印当月报表,只是设置时间值,打印仍要调用打印程序Private Sub CommandButton5_Click()Dim curTime As StringcurTime = NowDim curmonth, BeginofMonth, EndofMonth As Stringcurmonth = IIf(Month(curTime) < 10, "0" & Month(curTime), Month(curTime)) BeginofMonth = Year(curTime) & "-" & curmonth & "-01" & " " & "00:00:00"user.strStartTime.CurrentValue = BeginofMonthEndofMonth = Day(DateAdd("s", -1, DateAdd("m", 1, CDate(BeginofMonth))))user.strEndTime.CurrentV alue = Year(curTime) & "-" & curmonth & "-" _& EndofMonth & " " & "23:59:59"End Sub‘根据输入条件,保存/打印报表到文件Private Sub CommandButton6_Click()'运行EXCEL,打开报表模板文件Dim msexcel As Excel.ApplicationSet msexcel = CreateObject("Excel.Application")With msexcel.Visible = True ‘如为FALSE,则不显示EXCEL。
目录一、软件安装 (3)1、安装步骤 (3)2、第三方软件安装 (3)二、IFIX基本知识 (4)1)SCADA配置 (5)2)路径配置 (5)3)、I/O驱动配置 (6)4)、报警配置 (7)5)、任务配置 (11)6)、安全配置 (11)7)、数据库配置 (15)8)、人机界面 (18)9)、历史库定义 (18)10)、任务控制 (20)11)、如何更改画面高度 (22)12)、标签组使用 (22)三、如何实现IFIX的MBE仿真 (23)1)、首先在ifix上位机软件上安装好MBE驱动 (24)2)、添加配置好通道和数据块IP填电脑IP (25)3)、设置I/O地址范围,不可超出范围,下图模拟量地址有26个 (26)4)、打开modscan32 (27)5)、“connection”→“connect”出现下图 (28)6)、“connect using”选择“TCP/IP”,“IP Address”填入电脑IP,“Service Port” 与modsim32里设置一样。
然后OK (29)7)、打开modsim32 (29)8)、建立连接: (30)9)、“connection”→“connect”→“modbus/TCP Svr” (30)10)、然后2个软件的:Device Id、Address、MODBUS point Type、Length、必须一样,这样通讯建立! (31)四、常见问题 (32)1)、怎么实现登陆 (32)2)、关于安全,在配置安全以后,重装IFIX时会出现严重错误 (32)3)、VB中语句Private conData As ADODB.Connection运行提示用户定义类型未定义,是怎么回事? (33)4)、如何打开以前的工程 (33)五:常用脚本 (33)1)、按钮二次确认 (33)2)、脉冲输出示例 (34)说明:里面IFIX用MBE驱动为例,现在只是根据自己在使用IFIX中遇到问题总结!共同进步!IFXI使用总结一、软件安装1、安装步骤【说明】在安装过程中,弹出的设置窗口选择默认设置,以下列出需注意的地方。
基于ADO的IFIX历史数据报表黄重庆(福建工程学院电子信息与电气工程系福州)摘要:本次所使用的报表是基于ADO的IFIX历史数据报表,上位机采用组态软件iFix4.5,通过Visual Basic 6.0作为开发工具,运用模块化的方式,采集“智能仓储系统”和“冷却系统”所产生的数据,对各数据进行实时的监控和有效管理,同时可通过对不同信号的读取,采用本文介绍的方法设计的报表应用程序具有普遍性,通过简单修改可移植到其它工程中。
关键词:ADO;IFIX; 历史报表;VBABased on the historical data report IFIX ADOHuangChongQing(FuJian University of Technology,Electronic information and electricalengineering,fuzhou)Abstract:This time uses the report form is based on the ADO IFIX historical data report form, the superior machine uses configuration software iFix4.5, 6.0 takes the development kit through Visual Basic, the utilization modulation way, the data which gathering “the intelligence warehousing system”and “the cooling system”produces, carries on the real-time monitoring and the effective management to various data, simultaneously may through to the different signal read, use the methods design report form application procedure which this article introduced to have the universality, may transplant through the simple revision to other projects.Key words:ADO;IFIX; HIM ;VBA1 引言iFIX是全球最领先的HMI/SCADA自动化监控组态软件。
关于IFIX历史报警数据存储与查询实例一.ODBC服务的连接开始-设置-控制面板-管理工具-数据源ODBC选用户DNS-添加-选Microsoft Access Driver(*.mdb)数据源名:Myalarm选(或创建)数据库名:Alarm.mdb, 文件类型:Access,驱动器D:连接池-禁止二.系统SCU的配置SCU-IFIX-配置-报警-报警ODBC服务,启动-修改-区域(A):从报警区域数据库中选择- CLQS-ALM-增加-确定配置:数据库类型:Access数据库标识符:Myalarm列配置:选9项现在创建表:FIXALARMS(默认表名)其它默认-确定三.控件的引用1.日期时间控件典型装VB6.0后, 双击选Microsoft date and time picker控件日期控件-属性-格式:1-dtpShortDate,有效前不打勾。
其它默认,时间控件-属性-格式:2-dtpTime, 有效前不打勾。
其它默认2.vxData控件(数据管道)IFIX4.0工具箱底部vxData图标右键-属性vxData对象-提供者:Microsoft OLE DB Provider for ODBC Drivers数据库:DNS名:Myalarm,用户名密码选项均空---测试连接-测试连接成功-确定记录源:命令类型:SQL命令应用-确定3.vxGrid控件(显示)工具箱底部vxGrid图标选控件 vxGrid1-右键-动画-高级-高级动画配置-行为-ADORecords-动画打勾数据源:报警记录一览表.vxData1.ADORecords数据转换:对象四.VBA脚本的编写1.初始化脚本代码'初始化设置Private Sub CFixPicture_Initialize()'设定默认开始时间Me.DTPFromDate = DateAdd("d", -1, Now)Me.DTPFromTime = ("00:00:00")'设默认结束时间Me.DTPEndDate = NowMe.DTPEndTime = Now'设置时间'vxData1.QP1 = Format(Me.DTPFromDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPFromTime.Value, "HH:MM:SS")'vxData1.QP2 = Format(Me.DTPEndDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPEndTime.Value, "HH:MM:SS")End Sub2. 查询按扭CmbSearch代码如下:'开始查询Private Sub CmbSearch_Click()'连接自动刷新Me.vxData1.AutoRefresh = True'Format函数用于设定时间格式vxData1.QP1 = Format(Me.DTPFromDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPFromTime.Value, "HH:MM:SS")vxData1.QP2 = Format(Me.DTPEndDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPEndTime.Value, "HH:MM:SS")'设定查询内容'从数据库中查询符合时间段的数据Me.vxData1.SQLCommand = "SELECT *FROM FIXALARMS WHERE" & _"(FIXALARMS.ALM_NATIVETIMEIN >= {ts'QP1'})AND(FIXALARMS.ALM_NATIVETIMELAST <= {ts 'QP2'})"'刷新数据Me.vxData1.RefreshMe.vxGrid1.RefreshEnd Sub3. 完整的VBA按扭代码如下:'初始化设置Private Sub CFixPicture_Initialize()'设定默认开始时间Me.DTPFromDate = DateAdd("d", -1, Now)Me.DTPFromTime = ("00:00:00")'设默认结束时间Me.DTPEndDate = NowMe.DTPEndTime = Now'设置时间'vxData1.QP1 = Format(Me.DTPFromDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPFromTime.Value, "HH:MM:SS")'vxData1.QP2 = Format(Me.DTPEndDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPEndTime.Value, "HH:MM:SS")End SubPrivate Sub CFixPicture_KeyDown(ByVal KeyCode As Long, ByVal Shift As Long, ContinueProcessing As Boolean)End Sub'开始查询Private Sub CmbSearch_Click()'连接自动刷新Me.vxData1.AutoRefresh = True'Format函数用于设定时间格式vxData1.QP1 = Format(Me.DTPFromDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPFromTime.Value, "HH:MM:SS")vxData1.QP2 = Format(Me.DTPEndDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPEndTime.Value, "HH:MM:SS")'设定查询内容'从数据库中查询符合时间段的数据Me.vxData1.SQLCommand = "SELECT *FROM FIXALARMS WHERE" & _"(FIXALARMS.ALM_NATIVETIMEIN >= {ts'QP1'})AND(FIXALARMS.ALM_NATIVETIMELAST <= {ts 'QP2'})"'刷新数据Me.vxData1.RefreshMe.vxGrid1.RefreshEnd Sub以上工作结束后保存,退出。
IFIX报表IFIX报表常规的做法是采用IFIX内嵌的VBA语言,借助于OFFICE自带的ACCESS 和EXCEL 来做的。
例如我们要在IFIX画面上通过点击一按钮来察看某一天的数据,假如这有三个模拟量如tag1,tag2,tag3,数据间隔一小时归一次档,它主要分为四步:一、创建一个ACCESS数据库如ReportDataBase.mdb,用来存放报表所需的数据。
然后就在这个数据库中建立一个表如ReporData,这样IFIX 就能以一定的时间间隔将数据写入此数据库刚才创建的表中。
ReportData的结构如下:字段名类型日期日期/时间tag1 数值tag2 数值tag3 数值二、创建ODBC数据源,用于IFIX与上步已建立的数据库和表进行联系。
方法:控制面板->管理工具->ODBC数据源,打开ODBC数据源管理器,建立一个“系统DSN”,点击“添加”,双击“Microsoft Access Drivers (*.mdb)”,出现“ODBC Microsoft Access 安装”对话框。
数据源名:MyReport 注:此名是任意的字符组合,但不能与数据库重名。
数据库:ReportDataBase.mdb,点击‘选择‘按钮选择第一步创建的Access数据库。
点击“完成”,退出控制面板三、在IFIX 中创建一个“基于时间的调度”,如图名称:任意合法的字符组合触发信息:连续间隔:1小时详细代码如下:点击“VB编辑器“进入VB编辑器在“工具”菜单-〉引用“Microsoft ActiveX Data Objects x.x Library”Private Sub FixTimer3_OnTimeOut(ByVal lTimerId As Long)Dim cn As ADODB.ConnectionDim res As ADODB.RecordsetDim StrSQL As StringSet cn = New ADODB.ConnectionSet res = New ADODB.Recordsetcn.ConnectionString = "DSN= MyReport;UID=;PWD=;"//MyReport是数据源名称//cn.OpenStrSQL = "select * from ReportData where 日期=#" & Date & "#"//ReportData是建立数据库中的表名//res.Open StrSQL, cn, adOpenKeyset, adLockOptimisticres.AddNewres.Fields(0) = Dateres.Fields(1) = Fix32.Fix.tag1.f_cvres.Fields(2) = Fix32.Fix.tag2.f_cvres.Fields(3) = Fix32.Fix.tag3.f_cvres.Updateres.CloseSet res = NothingSet cn = NothingEnd Sub另外,如果定义了主键,如上图,选择了,则res.Fields(0)不可用。
excel在财务报表中的应用心得体会Excel 在财务报表中的应用心得体会在当今数字化的时代,财务工作的高效与准确至关重要。
作为一名财务人员,我在工作中深刻体会到 Excel 在处理财务报表方面的强大功能和显著优势。
它不仅大大提高了工作效率,还提升了数据的准确性和分析的深度。
Excel 为财务报表的制作提供了便捷的模板和功能。
我们可以利用预设的格式快速创建资产负债表、利润表和现金流量表等基本报表。
通过简单的输入和调整,就能生成规范、清晰的报表框架。
而且,Excel 的公式功能使得数据的计算变得轻松而准确。
例如,在资产负债表中,资产总额等于负债总额与所有者权益总额之和,我们只需设置好相应的公式,当输入各项数据时,Excel 会自动计算出结果,避免了手动计算可能产生的错误。
在数据录入方面,Excel 也具有很大的灵活性。
我们可以直接从其他数据源导入数据,如财务软件的导出文件,或者通过手动输入。
对于大量的数据,还可以使用数据验证功能,确保输入的数据符合特定的格式和范围要求,这有效地减少了数据错误的发生。
同时,Excel 的排序和筛选功能,让我们能够快速对数据进行整理和分类,便于查找和分析特定的数据。
财务报表的分析是财务管理的重要环节,Excel 在这方面发挥了巨大的作用。
通过数据透视表和图表功能,我们可以对财务数据进行多角度的分析和直观的展示。
数据透视表能够快速汇总和分组数据,让我们轻松看出各项财务指标的分布和趋势。
例如,我们可以通过数据透视表快速分析不同部门的费用支出情况,或者不同产品的销售收入情况。
而图表功能则能将数据以柱状图、折线图、饼图等形式呈现出来,使数据更加清晰易懂。
比如,用折线图展示公司近几年的利润增长趋势,用饼图展示各项成本在总成本中的占比,这些直观的图表能够帮助管理层更快速地理解财务状况,做出科学的决策。
此外,Excel 的条件格式功能也非常实用。
我们可以设置条件格式,让符合特定条件的数据以突出的颜色显示,例如将超出预算的费用数据用红色标记,低于平均值的数据用黄色标记,这样可以快速发现异常数据和关键信息,提高数据分析的效率。
ifix5.5如何做历史数据库?pSpace在企业信息化的作用对于现代工业企业,如何能使决策者随时查看生产过程数据,以便快速地做出更为灵活的商业决策,是企业信息化建设的关键,在企业MES所关注的各项资源中,生产过程信息依然是重要的资源,如果不能解决生产过程信息实时有效上传的问题,将仍然无法充分利用和保障MES及ERP管理系统的投资。
企业MES核心是实时历史数据库,实时数据库可用于工厂过程的自动采集、存储和监视,可在线存储每个工艺过程点的多年数据,可以提供清晰、精确的操作情况画面,用户既可浏览工厂当前的生产情况,也可回顾过去的生产情况,可以说,实时数据库对于流程工厂来说就如同飞机上的“黑匣子”。
工厂的历史数据对公司来说是很有价值的,实时数据库的核心就是数据档案管理,它采集并存储与流程相关的上千点的数据,多年应用历史数据库管理的经验告诉我们,现在很难知道将来进行分析时哪些数据是必须的。
因此,保存所有的数据是防止丢失所需信息的最好方法。
此外,要改进产品,必须具备与之相关物料的信息,并了解当前和过去的操作状态。
实时数据库采集、存储流程信息,用来指导工艺改进、降低物料、增加产量。
实时数据库为最终用户提供了快捷、高效的工厂信息,由于工厂实时数据存放在统一的数据库中,工厂中的所有人,无论在什么地方都可看到和分析相同的信息,客户端的应用程序可使用户很容易对工厂级实施管理,诸如工艺改进、质量控制、故障预防维护等。
通过实时数据库可集成产品计划、维护管理、专家系统、化验室信息系统、模拟与优化等应用程序,在业务管理和实时生产之间起到桥梁作用。
北京三维力控推出的pSpaceTM就是这样一个极具竞争力的软件产品,pSpaceTM作为企业级实时历史数据库,通过极高速度的数据采集、大量历史数据存储和大量实时过程数据的发布,实现企业信息集成的基础平台,它为企业实现底层监控、信息集成提供了全方位的软件解决方案。
pSpace可以构成一个复杂的企业信息化系统,企业信息化系统是采用了实时历史数据库技术的计算机系统,该系统不仅仅是一组对数据进行处理的软件,也不只是一个数据库。
在iFix中采用ODBC制作历史报表1.生成历史数据库打开系统配置点击,添加HTC.EXE ,启动方式选择后台方式启动历史定义定义历史数据库启动任务控制器,启动HTC2.ifix历史数据库介绍打开ODBC数据源管理器,大家可以看到IFIX实时和历史数据库,历史数据库一般存放在HTRDATA文件夹中3.配置调度定义引用引用:Microsoft Excel 5.0 Object Library和Microsoft ActiveX Data Objects 2.7 编辑脚本Dim ReportArray(15) As String '定义变量数组Dim curTime As String '定义当前时间Dim strStartTime As String '报表查询的时间范围Dim strEndTime As String '报表查询的时间范围Dim Interval As String '报表查询的间隔时间Dim msexcel As Excel.Application '定义引用Dim rsADO As New ADODB.RecordsetDim cnADO As New ADODB.ConnectionDim SQL0, SQL1 As StringDim reportfile As String '存储文件名Private Sub FixTimer4_OnTimeOut(ByVal lTimerId As Long)curTime = Now '取得当前时间Dim curmonth, curday, curhour, curminute, cursecond As Stringcurmonth = IIf(Month(curTime) < 10, "0" & Month(curTime), Month(curTime)) curday = IIf(Day(curTime) < 10, "0" & Day(curTime), Day(curTime))strStartTime = Year(curTime) & "-" & curmonth & "-" & curday _& " " & "00:00:00"strEndTime = Year(curTime) & "-" & curmonth & "-" & curday _& " " & "23:59:59"Interval = "01:00:00" '时间间隔reportfile = Year(curTime) & "-" & curmonth & "-" & curdayreportfile = "e:\" & reportfile & ".xls"ReportArray(0) = "O0ERB01CTO01" '定义报表变量ReportArray(1) = "O0ERB01CTO02"ReportArray(2) = "O0ERB01CTO03"ReportArray(3) = "O0ERB01CTO04"ReportArray(4) = "O0ERB01CTO05"ReportArray(5) = "O0ERB01CTO06"ReportArray(6) = "O0ERB01CTO07"ReportArray(7) = "O0ERB01CL301"ReportArray(8) = "O0ERB02CTO01"ReportArray(9) = "O0ERB02CTO02"ReportArray(10) = "O0ERB02CTO03"ReportArray(11) = "O0ERB02CTO04"ReportArray(12) = "O0ERB02CTO05"ReportArray(13) = "O0ERB02CTO06"ReportArray(14) = "O0ERB02CTO07"ReportArray(15) = "O0ERB02CL301"On Error GoTo ErrorSet msexcel = CreateObject("Excel.Application")With msexcel.Visible = True '如为FALSE,则不显示EXCEL。