vba编程入门教程:
1、打开vba编辑器
打开vba编辑器有下边三种方法供大家使用:
方法1:点击excel菜单中的开发工具,然后在代码选项卡中点击Visual Basic 即可,如下图所示:
方法2:右击excel左下角Sheet1,在d出的菜单中代码即可,如下图所示:
2、编写第一个vba程序
步骤:通过上边的方法打开vba编辑器。
在第一个下拉菜单中选中worksheet,在第二个下拉菜单中选中BeforeDoubleClick(BeforeDoubleClick的意思是在本工作表鼠标双击之前发生)。
然后编辑器中会自动生成两行代码,我们在两行代码之间写入自己的代码即可。比如我们输入:“Sheet1Cells(2, 3) = Sheet1Cells(2, 1) + Sheet1Cells(2, 2)”。意思是当我们鼠标双击时触发,第二行第三列的单元将显示第二行第一列和第二行第二列的和。
VBA的英文全称是Visual Basic for Applications,是一门标准的宏语言。VBA语言不能单独运行,只能被office软件(如:Word、Excel等)所调用。
VBA是一种面向对象的解释性语言,通常使用来实现Excel中没有提供的功能、编写自定义函数、实现自动化功能等。
1、首先在开发工具中打开VBA编辑器。
2、在单元格区域当中输入一些自己想要的内容。
3、在VBA编辑器中插入模块。
4、在模块当中输入代码,然后运行。
5、这样用快捷键Alt+F8调出运行宏窗口,然后单击“执行”按钮,鼠标已限定在功能区范围移动了。
一系统使用的目的
传统的学生公寓布局在非模块化的家具设计前提下,布局单一,与大学生创新自主的特点相违背。本系统使用的目的主要体现在以下两点:
第一,达到布局合理而且可以自由组合家具单元模块,能发展学生的个性特点,最大限度地激发学生的创造能力。通过合理的划分来提高学生公寓内部空间的使用效率,为学生提供功能丰富、使用安全、设计美观、灵活多变、相对独立的家具,以符合现代学生的性格特点以及满足学习生活的需要,实现“以人为本”的设计理念。
第二,一种设计,多种变化,适用于不用类型的学生公寓的设计要求。采用模块化设计思想对学生公寓设计进行研究与开发,一方面有利于标准化的设计和规范的管理,另外一方面能充分提高企业生成效率,节约资源,可提高学校家具行业的市场竞争力。
二系统的建立
本文所建立的学生公寓组合家具模块化仿真设计系统基本框架是由所要布置的公寓空间数据、人机交互窗口、三维家具单元模块图库、参数化修正计算和三维公寓空间模型等建立几部分构成。
首先,将所要对应的公寓平面图相关编号数据通过人机交互界面输入到计算机中。然后,通过人机窗口的设计计算,自动打开AutoCAD并根据输入的编号数据选择所要进行布局的空间模型。之后,通过AutoCAD的二次开发建立连接三维家具单元图库,调用三维家具单元模型。实现在AutoCAD环境下的三维仿真布局,设计流程图如图11。
从设计流程图中可看出,本系统的主要分为两大设计部分,上半部对于模型单元的参数化设计时通过VBA编程来实现的,而下半部分对于人机交互窗口以及学生公寓处理部分的设计是通过VB 60的编程来实现的。
三系统的实现
(1)界面设计
人机窗口设计的目的是实现人机交互,获得所需建立学生公寓平面图数据之后对数据进行运算分析,最后自动打开AutoCAD软件并绘制出学生公寓的三维仿真模型。基于VB的程序设计强于Visual LISP的其中一点就是能够提供一定的保护机制,源程序的保密性强。通过VB的程序编写产生一个可执行文件,让使用者运行。而在人机窗口的设计过程中也可以加入身份识别的功能。其实现流程图如12。
3(1)登录界面的设计
登录界面设计的主要功能是要为合法用户提供 *** 作系统的权限,同时起到了对数据安全的保护作用。登录界面设计流程图如图13所示。程序设计思路如下:
(1)登录用户输入登录信息,包括卡号与密码;
(2)判断登录信息是否合法,如设定范围,广州工程技术职业学院所属卡号视为合法,否则视为非法;
(3)判断合法后,进入系统界面,若所输入信息错误则d出错误并提示重新输入;
(4)如果错误次数超过3次,则系统自动关闭。
3(2)学生公寓户型选择界面的设计
在顺利进入系统后,接下来就是学生公寓信息窗口。这部分程序主要功能是:在获取对应数据后,对数据进行计算分析,若数据计算无误则打开AutoCAD,按照输入数据打开相对应的学生公寓平面图并同步形成轴测图。如果数据计算误则d出错误提示,要求重新输入数据。程序设计思路如下:
(1)设计输入学生公寓户型编号或名称(如图14所示);
(2)编辑判断以及计算程序,对所输入数据判断计算;
(3)将计算通过输入的数据连接AutoCAD,并打开AutoCAD应用软件,并同时打开相对应的学生公寓平面图并同时生成空间的轴测图;
(4)若数据计算不通过则重新输入;
(5)在登录系统后进入欢迎界面点击下一步按钮,系统便进入了学生公寓户型选择界面,用户可根据需要选择。在确定学生公寓类型后,通过AutoCAD平台输入所建空间的X、Y和Z轴的坐标后,系统会根据用户所选取的学生公寓类型和输入的数据自动打开AutoCAD并绘制出所对应的学生公寓三维空间模型;
(6)空间模型形成后基础上,点击下一步,进入家具图库选择界面,如图15所示。
(2)VBA程序设计
从图41中分析得知,在VBA环境下的编程主要是对学生公寓家具单元模块的参数化控制。通过AutoCAD自带的强大功能便可对之前做好的家具单元图库进行三维尺度的参数化修改。但是,AutoCAD自带的块 *** 作以及设计中心功能,所针对的是比较小型的图形库的参数处理,不利于今后开发大型数据库的扩展。因此,为今后继续开发扩充家具库,建立参数图形的数据库系统,引入了VBA编程。前文提到了对于各参数化家具图块的 *** 作主要是针对AutoCAD图块的 *** 作。
所以,在VBA程序里的主要对象就是图形库和图形库中的家具图块。程序完成的主要功能包括如下内容:首先,在列表中选择所需的家具单元模块;然后,进行部件模块的选择;最后,将所添加到所要布局的学生公寓空间中。
3(1)检索程序
本程序的主要目的就是用VBA编写在所建立图形库中查找调用参数家具图块的功能,所要实现的两个主要功能:一是导入家具模块图形库;二是选择所需模块模型添加到对应的学生公寓空间,并可进行参数化设置。
该程序所执行的功能是将模块图形转化成为列表的形式,并可生成预览图。
在家具单元模块库中进行选择后,形成家具模块列表,可通过列表的形式将选中的模块插入到所形成的空间模型中。
3(2)参数修改和家具单元重置程序
该程序所执行的功能是:首先,对学生公寓的三维家具模型进行参数化设置;然后,输入定位之后的XYZ轴的坐标;最后,在布置图中完成不同家具单元模块的布置。 *** 作过程如图16所示。
家具重置部分所执行的功能是当插入家具模块后发现不合理时,可点击重置取消原 *** 作,重新调整布置。通过家具图块列表选择所要置换的家具单元,点击重置则完成。当加入新的家具单元后点击刷新,系统按输入参数自动加入新的家具单元图块。
参数修改部分完成的任务是对所引入三维家具实体模型的数量或模块进行重新选择,所有尺寸按真实尺寸进行输入。参数化设置后生成的平面图如图17所示。
参考文献:
[1] 林海家具模块化设计方法实例分析[J]家具与室内装饰,2005,(9):20-22
[2] 梁启凡 家具设计[M] 北京:中国轻工业出版社,2006
[3] 刘文金,唐立华当代家具设计理论研究[M] 中国林业出版社,2007217-219
[4] 沈刚CAD软件二次开发方法的分析与探讨[J]电脑知识与技术,2006,(2):201-203
控制语句、数组、Sub过程、Function这些东西与其它语言里的定义是一样的
控制语句是用来控制程序流程与算法的
数组就是一段连续内存的存储空间
Sub就是实现某些功能的代码集合
Function就是一有返回值的Sub
分类: 电脑/网络 >> 软件
解析:
阐述了当前自动化软件的技术特点和发展趋势,并介绍了在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编程教程是什么全部的内容,包括:vba编程教程是什么、如何用vba控制鼠标移动和点击、学生公寓家具模块化系统设计与分析 欧亚学生公寓系统等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)