一种基于VBA非标准格式数据采集方法研究与实现.docVIP

一种基于VBA非标准格式数据采集方法研究与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于VBA非标准格式数据采集方法研究与实现

一种基于VBA的非标准格式数据采集方法的研究与实现   摘 要   本文针对部分进口设备及其专用配套软件,提出了一种基于VBA的非标准格式数据的采集方法,该方法通过使用VBA二次开发实现设备检测数据转存,并利用文件变更监听事件将数据通过TCP/IP协议发送至服务端,实现了非标准格式的数据采集和保存。   【关键词】非标准格式 数据采集 VBA   1 引言   随着制造业信息化的快速发展和普及,各类生产和经营数据的采集也越来越引起经营管理者的重视。然而,由于制造业中的各类设备目前尚缺乏统一的标准接口和格式,本文作者在开发卷烟厂质量检测和理化指标数据采集系统中,涉及不少从国外进口的检测仪器,未提供相关采集接口,如英国LLOYD仪器公司的拉力仪,仅能通过配套的专用软件进行处理和打印检测数据,因此需研究一种新的非保准格式数据采集方法。   2 采集系统的设计   对于此类设备的数据采集,其通常可以分为以下3个步骤,即提取数据、解析数据和发送数据。   (1)提取数据:经研究,部分设备通过COM组件提供二次开发接口,能动态生成打印报表,因此,可利用VBA,编写代码,将数据保存到系统中的指定文件夹。   (2)截获数据:即从提取数据中获取需要采集的关键数据,文献[2]对基于.NET 的文件系统监控应用进行了研究,因此可利用文件变更监听事件监听数据保存文件夹,有新文件创建时,则读取文件,截获所需数据。   (3)发送数据:通过TCP/IP协议将其发送到远程服务器,也可直接利用远程数据连接进行保存。   根据上述思路,设计了一种分层的数据采集系统架构,   采集系统在逻辑上分为3个模块,分别是数据提取模块,数据截获模块和数据发送模块,在物理实现上则分为2个部分:1个是Word打印模板,其中利用VBA开发接口实现了数据的转存,1个是数据采集客户端,利用文件监控机制和TCP/IP协议实现了数据的截获和发送功能。   3 采集系统的实现   3.1 提取模块的实现   经调查,拉力仪的报表打印是利用Brief Report.doc模板动态生成,而其配套软件中提供了二次开发的控件库,因此需利用该接口,在BriefReport.doc文件中使用VBA编写相关程序将数据提取并保存即可。   文献[1]中指明,Document_Close方法将在模板文件关闭时自动运行,因此可在其中编写相关处理函数,关键代码如下:   Private Sub Document_Close()   ‘… 省略相关代码   提取基本信息   msg = {base: GetTestBaseInfo() ,   提取数据   msg = msg info: GetTestInfo() }   msg = Replace(msg, Chr(13), )   ‘… 省略相关代码   SaveFile(stOutputFile,msg) 保存   End Sub   通过二次开发接口可以容易的获取设备数据,且只需将其保存为文本文件,再借用文件系统监控程序发送到服务器端,即可实现拉力仪数据采集。   3.2 截获模块的实现   文献[2]中介绍了一种基于.NET实现的文件系统监控方式,根据此类思路,可以轻易实现Windows平台下的文件监控系统。数据采集文件监控系统的流程.   使用FileSystemWatcher可实现对特定文件或目录的监视,当指定目录中有新文件被创建,会触发Created事件,如指定文件的文件大小或最后写入时间等属性发生变化则会触发Changed事件,如有文件被删除则会触发Deleted事件。通过Path属性可以指定要监听的文件或文件夹,通过 Filter 属性可以设置要监视的文件类型。通过NotifyFilter属性可以指定要监视的事件类型,通过EnableRaisingEvents来确定是否启动监听,关键代码如下:   ……//相关组件定义代码   FileSystemWatcher fsw= new FileSystemWatcher();   fsw.Path = this.tbPath.Text;   fsw.Filter = this.tbFile.Text;   //监控拉力仪   if (cmbType.Text == 拉力仪){   fsw.NotifyFilter = NotifyFilters.LastWrite;   fsw.Changed += //设置事件处理程序   new FileSystemEventHandler(On_MCXS_Changed);   }   fsw.EnableRaisingEvents = flag; //开始监控

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档