excel中VBA有哪些作用哪里有教程啊

excel中VBA有哪些作用哪里有教程啊,第1张

分类: 电脑/网络 >> 软件

解析:

阐述了当前自动化软件的技术特点和发展趋势,并介绍了在iFIX自动化软件中使用VBA访问历史和实时数据的机制。通过一段使用VBA语言编写的程序,实现向Excel输出历史数据,生成历史报表的实例,说明了VBA语言在自动化软件中的应用。

1、自动化软件的发展趋势

自动化软件主要是指那些为用户提供人机 *** 作界面(HMI)的开发和运行环境的软件,有些软件还能够提供回路控制功能,用户可以实现基于PC的控制方案。自动化软件应当具备如下的主要功能及特征:工业过程的动态可视化;数据采集和管理;过程监控和报警;报表和 *** 作记录功能;系统安全等级化管理;为其他企业级程序提供实时和历史数据;简单的回路调节;批量控制等。

近年来,随着计算机和网络技术的发展与应用,自动化软件的发展也呈现如下的发展趋势。

11 开放和标准化

近年来,许多自动化软件厂商把通用的标准化编程语言,如微软的VBA(Visual Basic for Applications)集成在自己软件的开发环境中。VBA与VB(Visual Basic)极为相似,只是不能编译成可执行文件,这就为众多熟悉VB的用户提供了一个编程环境。用户在VBA环境中编写程序,可以使用DDE,ActiveX控件,ODBC,COM/DCOM 等技术使得自动化软件演变成开放的软件平台,在软件功能不能满足用户特殊需要时,用户可以根据自己的需要进行二次开发。

同时,OPC(OLE for Process Contro1)技术也是自动化软件的一个热点。OPC是Microsoft公司的对象链接和嵌入OLE/COM技术在过程控制方面的应用,为工业控制领域提供了标准的数据访问机制。

12 网络化

随着Inter/Intra的普及,自动化软件又集成了基于TCP/IP协议的网络功能,使其成为协作生产制造过程中的核心系统,实现了企业网络环境下实时数据的管理、实时流程查看、实时趋势浏览、报警记录与查看、报表数据存储、历史趋势存储与查看、生产过程报表生成、生产统计报表生成等功能,从而实现过程控制系统与信息系统的网络集成。用户可以通过IE浏览器登录自动化软件的Web Server服务器,实现远程浏览生产过程。

13 管理控制一体化

生产管理信息系统是大型企业重点建设的项目,随着大型数据库技术的日益成熟,自动化软件成为全厂范围内信息收集和集成的工具。在未来企业的信息化进程中,自动化软件将成为硬件设备与生产管理信息系统的桥梁。因为自动化软件能为生产管理信息系统提供生产过程的实时和历史数据,而生产管理信息系统叉对生产过程有着指导作用。

2、VBA在自动化软件中的应用

下面,以iFIX软件为例,通过VBA编写的脚本程序,实现向Excel输出历史数据的实例来具体说明VBA在自动化软件中的应用。

21 iFIX软件简介

iFIX软件是GE自动化软件产品家族中的一个基于Windows的HMI/SCADA组件。iFIX是基于开放的和组件技术的产品,专为在工厂级和商业系统之间提供易于集成和协同工作的设计环境。iFIX中还加入了OPC,VBA,ActiveX,DDE,ODBC等工业标准化技术,可以提供一个强大的开发环境,实现用户的特殊需求。

22 iFIX软件中VBA的应用实例

a) iFIX的数据访问机制。iFIX中的数据分为实时数据库和历史数据库,这2种数据库的访问方法不同,对于实时数据库,iFIX的VBA项目中提供了各种iFIX对象,利用这些对象,就可以方便地在VBA中实现对iFIX的控制功能;对于历史数据库,可以访问关系数据库来获得历史数据。对于这些关系数据库,各种编程语言大多都提供了相应的数据控件来访问,在VBA 中,通常采用ADO对象模型来访问这些历史数据库。

b) ADO Data控件使用Microsoft ActiveX数据对象(ADO)来快速建立数据绑定的控件和数据提供者之间的连接。数据绑定控件是任何具有“数据源”属性的控件。数据提供者可以是任何符合ODBC规范的数据源。

c) 利用VBA实现Excel报表。通过编写VBA脚本程序,可以实现向Excel输出历史数据,生成Excel报表。其触发方式有2种:一种是通过iFIX的调度程序,以固定的时间或事件来启动VBA脚本程序,生成报表;还可以直接使用VBA生成用户 *** 作界面,用户可以输入开始时间,间隔等参数,由用户点击按钮启动VBA脚本程序,生成报表。这2种方式在程序上大同小异,其主要部分VBA脚本程序如下。其中程序将历史数据、时间、TAG名称等参数送到Excel的Sheet2中,用户可以将Sheet1作为报表版面,通过编辑版面格式,引用Sheet2数据等方式,形成最终报表。

根据用户要求定义所要查询的时间段和变量名称

Dim MyDate,StartTime,EndTime As String Dim Tagl,Tag2 As String

Tagl=“TIC101.F_CV”

Tag2=“TIC102.F_CV”

MyDate=Format(Now(),“yyyy-mm—dd”)

StartTime=MyDate&“ ”& “0:00:00”

EndTime=MyDate&“ ”& “23:OO:OO”

使用ADO对象来访问ODBC数据库,用SQL语盲查询历史数据

strQuerySamp=“Select Datetime,Value,Tag From Fix Where Mode=‘Sample’and (TAG=‘ “& Tagl & ”‘or TAG=’”& Tag2 ) and Interval=‘ 01:00:00’and (Datetime) >={ts‘“& StartTime &”’ )and Datetime<={ts‘“ EndTime & ”’})”

Dim ADO As New ADODB.Connection

Dim rsADO As Recordset

Set ADO=New ADODB.Connection

ADO.ConnectionString=“ DSN= FIX Dynamics Historical Data;UID=sa;PWD= ;”

AD0.Open “FIX Dynamics Historical Data”,“sa”,“”

Set rsADO— New ADODB.Recordset

rsADO.Open strQuerySamp,ADO,adOpenForwardOnly,adLockBatchOptimistic

调用Excel,将历史数据写入打开的Excel报表文件

Dim 0utReport File,InReportFile As String

Set Intyexcel= New ExcelApplication

InReportFile-”C:\data\HisReport“

Intyexce1.Workbooks.Open InReportFile &“.XLS”

Intyexce1.Sheets(“Sheet2”).Select

While rsADO.EOF < > True

With Intyexce1.Worksheets(2)

For C=0 To Items

If rsADO(c)= “ ”Then .Cells(r,C + 1).Value= rsADO(c)

Next C

r; r+ 1

rsADO.M oveNex

End With

W end

关闭Excel,保存报表文件

OutReportFile=InRep0rtFile &“_”& MyDate

Intyexce1. ActiveW orkbook. SaveAs OutReportFile

Intyexce1.Quit

Set Intyexcel=Nothing

Set ADO==Nothing

3、VBA应用的注意事项与展望

集成了VBA编程语言的自动化软件,变成了标准化的、开放的软件开发平台,这使得自动化软件本身具有了无限的开放性和可扩展性。但同时也带来一些问题。首先,开发人员要确保VBA脚本程序的可靠和精简。VBA程序要经过严格和全面的测试,并要编写出错处理程序,保证生产过程控制的万无一失。其次,目前VBA程序还不能编写多线程程序,开发人员要选择恰当的触发方式,避免发生冲突。

总之,随着最终用户变得更加成熟以及对自动化软件的更加了解,他们将通过编写程序的方式来针对其过程及系统进行更多的定制,以便能够满足其需求。自动化软件将不断为用户提供这样的安全可靠的技术手段。

参考文献

[1] 刘恩涛,赵耀峰.Visual Basic6.0编程技术与实例分析,北京:中国水利水电出版杜,1999.455~456,472~478,479~482

[2] 刘炳文,张绅.Visual Basic程序设计——数据库篇.北京:人民邮电出版社。1999.196~198,224~232,248~251

详细教程:whzxtzr/readphpwid=455

VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。它也可说是一种应用程式视觉化的 Basic 脚本。

VBA提供了面向对象的程序设计方法,提供了相当完整的程序设计语言。它的编写是以子过程和函数为单位,在 Access中以模块形式出现。

扩展资料

vb和vba区别

VBA是VB的一个子集,也可以讲是VB的简化版。VB的应用程序编译后可以在系统下直接运行,VBA不行,必须在office下运行。VBA统计学中的曲线图有现成的“宏”编程序比较方便,但没有个性化,修改比较麻烦。VB画图功能非常强大什度么都能画,但编程序比较麻烦。

vba主要应用在Office组件里。比如在Excel里,可以自己写函数,可以用代码定义一系列的 *** 作。vba作为程序的自动化脚本而存在,是为了提高程序的自动化程度。而VB是编写程序的工具。

参考资料来源:百度百科-VBA

Visual Basic for Applications(简称VBA)是新一代标准宏语言,是基于Visual Basic for Windows 发展而来的。它与传统的宏语言不同,传统的宏语言不具有高级语言的特征,没有面向对象的程序设计概念和方法。而VBA 提供了面向对象的程序设计方法,提供了相当完整的程序设计语言。VBA 易于学习掌握,可以使用宏记录器记录用户的各种 *** 作并将其转换为VBA 程序代码。这样用户可以容易地将日常工作转换为VBA 程序代码,使工作自动化。 [1]

VBA是基于 Visual basic发展而来的,与VB具有相似的语言结构。从语言结构上讲,VBA是VB的一个子集,它们的语法结构是一样的。两者的开发环境也几乎相同。但是,VB是独立的开发工具,它不需要依附于任何其他应用程序,它有自己完全独立的工作环境和编译、链接系统。VBA却没有自己独立的工作环境,它必须依附于某一个主应用程序,VBA专门用于Office的各应用程序中,如Word、 Excel、 Access等。在 Access中,可以通过VBA编写模块来满足特定的需要。 [1]

正是由于VBA与主应用程序的这种关系,使得它与主程序之间的通信变得简单而高效。它与 AutoCAD完全共享内存空间,所以执行速度比用C语言开发的ADS应用程序要快很多。 [2]

VBA提供了面向对象的程序设计方法,提供了相当完整的程序设计语言。它的编写是以子过程和函数为单位,在 Access中以模块形式出现。 [1]

Office取得巨大成功的一个重要原因就是VBA,使用VBA可以完成很多事情,基于Excel、Word的VBA小程序不计其数。Office中的应用程序可以共享VBA语言,如果掌握了在 Excel 2016中使用VBA的方法,那么在Word、Power Point中使用VBA自然会变得易如反掌。掌握对VBA语言的使用,可以让复杂的工作简易化,减少不必要的重复性工作,大大提高我们的工作效率。 [3]

VBA程序员很多是业余程序员,正因为业余,解决的却是工作中需要解决的问题;所以,VBA程序大多都是只是在部门内部或个人使用的小工具。集成了VBA的其他应用程序也很多,但真正能为程序增色的不多。 [1]

大多数人看到了VBA可以自动化一个程序,可以扩展已有程序,但没有看到在Office中,VBA代码可以是录制的,而不是写出来的,带来的好处是,学习曲线变得非常缓。如果没有宏录制功能,要熟悉某个Office组件的对象模型,绝非一日之功。 [1]

以ArcGIS为例,ArcGIS扩展必须使用ArcObject,不管是使用VBA也罢,VB也罢,还是C++也罢。但同时,ArcObject的学习不是一天两天可以搞定,对于业余程序员,要使用VBA来扩展ArcGIS,几乎没有可能;专业程序员又不屑使用VBA;而对于公司,如果要基于ArcObject来扩展ArcGIS,选择VBA意味着源码的保护很困难。所以,ArcGIS的VBA就如同鸡肋。 [1]

VB 与VBA

VBA 是基于Visual Basic 发展而来的,它们具有相似的语言结构。Visual Basic 是Microsoft 的主要图形界面开发工具,VBA 50 (亦即VBA 97)则是Visual Basic 50 的子集。Visual Basic 是由Basic 发展而来的第四代语言。Visual Basic 作为一套独立的 Windows 系统开发工具,可用于开发Windows 环境下的各类应用程序,是一种可视化的、面向对象的、采用事件驱动方式的结构化高级程序设计语言。它具有高效率、简单易学及功能强大的特点。VB 的程序语言简单、便捷,利用其事件驱动的编程机制,新颖易用的可视化设计工具,并使用Windows应用程序接口(API)函数,采用动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)以及开放式数据库访问(ODBC)等技术,可以高效、快速地编制出 Windows 环境下功能强大、图形界面丰富的应用软件系统。 [1]

Visual Basic 程序很大一部分以可视(Visual)形式实现,这意味着在设计阶段就可以看到程序运行的屏幕画面,用户可以在设计时能够方便地改动画面图像、大小、颜色等,直到满意为止。VB 的用户可以是缺乏Windows 及C 语言开发经验的专业软件人员,也可以是具有一定Windows开发经验的专业人员,VB 的可视化编程方法使得原来繁琐枯燥、令人生畏的Windows 应用程序设计变得轻松自如、妙趣横生。以往的Windows 应用程序开发工具在设计图形用户界面时,都是采用编程的方法,并伴随大量的计算任务,一个大型应用程序约有90%的程序代码用来处理用户界面,而且在程序设计过程中不能看到界面显示的效果,只有在程序执行时才能观察到,如果界面效果不佳,还需要回到程序中去修改。Visual Basic 提供了新颖的可视化设计工具,巧妙地将Windows界面设计的复杂性封装起来,程序开发人员不必再为界面设计而编写大量程序代码,仅需采用现有工具按设计者要求的布局,在屏幕上画出所需界面,并为各图形对象设置属性即可,VB 自动产生界面设计代码,这样便将事先编制好的控件可视地连接到一起,构成一个随时可调整的界面。 [1]

VBA 不但继承了VB 的开发机制,而且VBA 还具有与VB 相似的语言结构,它们的集成开发环境IDE(Intergrated Development Environment)也几乎相同。但是,经过优化,VBA 专门用于Office 的各应用程序。VB 可运行直接来自Windows 95 或NT 桌面上的应用程序,而VBA 的项目(Project)仅由使用VBA 的Excel、Word、 PowerPoint 等称为宿主(Host)的Office 应用程序(Application)来调用。 [1]

区别

1 VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(EXCEL等)自动化。 [3]

2 VB具有自己的开发环境,而VBA必须寄生于已有的应用程序。 [3]

3 要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件(EXE),而VBA开发的程序必须依赖于它的父应用程序,例如EXCEL。 [3]

4VBA是VB的一个子集。 [3]

尽管存在这些不同,VBA和VB在结构上仍然十分相似。事实上,如果你已经了解了VB,会发现学习VBA非常快。相应的,学完VBA会给学习VB打下坚实的基础。而且,当学会在EXCEL中用VBA创建解决方案后,即已具备在WORD ACCESS OUTLOOK FOXPRO POWERPOINT 中用VBA创建解决方案的大部分知识。 [3]

VBA一个关键特征是你所学的知识在微软的一些产品中可以相互转化。 [3]

VBA可以称作EXCEL的“遥控器”。 [3]

以上就是关于excel中VBA有哪些作用哪里有教程啊全部的内容,包括:excel中VBA有哪些作用哪里有教程啊、VBA是什么、什么是vba等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10142274.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存