电脑桌面
添加盘古文库-分享文档发现价值到电脑桌面
安装后可以在桌面快捷访问

VBA技术范文

来源:开心麻花作者:开心麻花2025-09-191

VBA技术范文(精选9篇)

VBA技术 第1篇

1 概述

本考试评分系统是根据计算机文化基础考试而开发的一套考试平台,界面美观,功能强大,模拟上机考试环境,提供计算机文化基础自动批改、自动评分的功能。此平台的应用不但极大地方便了计算机文化基础的考试,而且使学生能更快、更好地熟悉计算机等级考试的模式,考试结束后,可由评分系统直接评分,更加方便了老师的阅卷,既提高了阅卷的准确度,又加快了速度。计算机学习者在参加各类计算机操作技能考试时,成绩往往不理想。这是因为,从表面看有些操作题好像已完成,但实际上却是错误的。学生在练习时,无法知道自己的操作是否正确。目前虽然有很多计算机方面的参考资料,但都没有解决好自动批改、自动评分的问题。本考试评分系统自动统计该生总成绩及各部分得分情况,力图填补这个空白。

开发本系统所使用的是VBA,它是Microsoft公司推出的一个集应用程序开发、设计、编辑和调试为一体的集成式开发环境。VBA添加了新的特性,如ADO接口结合OLE DB技术更是提供了高速的数据库访问性能,而且基于Microsoft自己的COM技术,VBA更好地实现了对Activex的支持和利用。模块和类模块也是Visual Basic中突出体现,模块(.bas文件)通常是一些窗体、模板、方法和函数的集合,可以将一些较常用的对象按不同的功能或属性分类,分别包含在不同的模块中,而.bas文件可以在任何工程中随时引入,完成其特定的功能,大大节约了开发的时间。类(.cls文件)则是所有面向对象语言的共同特征,是面向对象技术的一个非常重要的概念。类是一种抽象的数据类型,它是所有具一定共性的对象的抽象[1]。

2 系统功能模块

2.1 考生登录功能

考生在考试登录窗口输入准考证号,姓名,然后根据自己所做试卷的类别,在“选择题签”中选择对应类别(如A卷、B卷等),最后用鼠标单击“确定”按钮,此时系统弹出考生基本信息画面(如姓名、性别、学号、专业等信息)。如果由于输错准考证号,出现的不是考生本人的信息,考生可以单击“退出”按钮返回考试登录窗口重新输入正确准考证号;如果输入正确确认后弹出考试界面。如图1所示考生登录流程图,其中Count代表考生登录的次数。

2.2 试题作答

考试画面的最上面是考试系统状态条,状态条中依次显示了“显示/隐藏窗口”、“考生准考证号”、“试卷类别”、“考试剩余时间”及“退出”。考试画面的左侧依次显示有“说明”、“Windows”、“Word”、“Excel”、“Power Point”、“网络操作”按钮。考生可依次答题。

2.3 考试结束评分

当考试时间到时,将弹出结束考试画面,并禁止考生继续操作。可以输入口令以退回到Windows环境,并准备进行评分处理。如果考生提前完成考试,可在考试系统状态条中单击“退出”按钮,提前退出考试系统。由于考生退出考试系统后,将不能再次登录,因此在执行此项操作时,系统会给出警告信息,考生确认后方可退出考试系统。考生提前退出考试系统后,由监考教师输入密码后方可评分。系统中评分包括5部分:Windows操作得分、Word文档得分、Excel得分、Power Point得分、网络操作得分,如图2所示。

3 具体实现

评分算法的实现是整个考试系统中的关键所在,对于评分算法的编写,要根据题目的要求,在编写程序之前应先明白整个试卷的内容,把整个试卷转化成数字化试卷保存在Access数据库表中,考生把所做的考题放在考生文件夹中,评分时将调用评分算法来对考生所答的试题进行逐步的判断,用考生所做的答案与数字化试卷中的标准答案进行比较[2],如果相同则加分,不同就按错误处理不能加分。

下面以某一试卷中Word文档判卷为例来具体说明是如何进行自动阅卷的。首先给出试卷中Word文档的部分数字化数据表[3],如图3所示。

相应的程序如下:

同理可以得到其他部分的评分情况。

4 结语

重点说明了该考试系统的评分算法的设计,主要是应用面向对象的思想[4]。该考试系统运用于教学实践及其他计算机的有关考试中,能自动组卷及自动评分,大大提高了工作效率实现考试的公平公正。

摘要:随着计算机应用的日益普及和深入,利用计算机考试系统实现无纸化考试已经成为一种重要的考试方式。阐述了计算机基础上机考试评分系统的基本情况、评分算法的研究、所使用的开发工具VBA和Access数据库、上机考试评分系统的功能描述以及模拟考试环境的开发及具体的实现细节等。

关键词:考试评分系统,模拟考试环境,评分算法的研究

参考文献

[1]柴欣,武优西.Visual Basic程序设计基础.北京:中国铁道出版社,2003.

[2]段汉周.VB程序设计考核自动评阅系统中若干问题的研究[J].计算机工程,2001,(4).

[3]王颖.计算机机上考试系统的设计与实现[J].微计算机应用,2007,28(6).

什么是VBA 第2篇

什么是Excel应用程序?利用Excel和VBA为平台,开发出来的电子数据表即称Excel应用程序。

什么是宏?宏是一系列的命令与函数,存储于 Visual Basic 的模块中,并在在需要执行该项任务时可随时运行。如果经常在重复某项任务,那么可以用宏自动执行该任务。

上面是VBA的三个概念,那为什么要用VBA?为什么要以Excel为平台来开发程序?

这里说几个简单的理由!

1、当使用Excel为平台时,你的程序就可以利用Excel现有的功能,可以站在一个小巨人的肩膀上,这就可大大减少开发的周期,

2、几乎所有的电脑中都有Excel,也有大量的人正在使用Excel,但并不是每个人都会使用VBA,当你了解VBA后,以前的很多问题就可能在这就迎韧而解。

3、Excel开发程序分发很容易,只要电脑中有Excel,基本不需要在其它的文件,简简单单的复制与粘贴,就完成了文件的分发。

4、VBA的语言是相对容易学的语言,很容易上手,如果你熟悉VB,那你发现它们在语言方面是相通的,而如果你对Excel比较了解,那你也就很容易理解Excel的各种对象了。

最后,任何东西都不是万能的Excel与VBA也是一样。

如,Excel是一个电子表格程序,如果你把它强加成数据库软件是不公平的,在处理较少的数据,比如几千行的,用Excel是比较理想的,而大量的数据时,你就应该考虑用数据库了,比如Microsoft Office中的Access等,或者将两个相结合。

VBA技术 第3篇

对于上述现状,笔者认为有两个原因:一是参与管理意味着PPT课件需有较强的交互性,但教师对PPT的交互设计普遍缺乏了解;二是教师认为传统的课堂管理手段已能满足日常教学需要,无需PPT课件的参与。其实,PPT课件参与课堂管理,可以有效增强师生互动,能及时反馈练习结果,及时把握学生行为状态,活跃课堂气氛,较好地弥补教师日常课堂教学管理的不足。PPT还能提供强大的VBA(Visual Basic for Application)扩展功能,通过简单编程,就可以实现许多课堂交互功能,如随堂练习[2,3]、动画模拟[4]。不仅如此,通过连接数据库,VBA还可以实现复杂的课堂行为数据交互,如考试系统[5]。因此,拟采用VBA设计并制作具备课堂随机点名功能的PPT课件。

1 基于VBA技术的课堂随机点名PPT课件的设计

1.1 功能设计

从需求分析来看,笔者设计的随堂点名PPT课件主要具备以下3个功能:(1)由教师控制何时开始点名和何时结束点名;点名开始后,计算机每隔一段时间查询学生数据库,并根据随机数算法随机读取一条学生记录,如此循环查询和随机读取,直至点名结束,显示最后一次读取的学生信息,包括学号、姓名、学生照片。(2)教学内容页面与随机点名页面之间无缝链接,确保教学活动正常进行。可通过PPT的母版功能,在幻灯片母版中设置一个按钮入口;对于任何需要开展随机点名活动的教学内容页面,将其幻灯片设为上述母版,即可显示按钮入口,教师点击该按钮即可进入随机点名页面;在随机点名页面,同样设置一个关闭按钮,教师点击该按钮即可返回正常的教学内容页面。(3)由于教师通常会同时承担多个班级的教学任务,因此该课件具有支持多班级随机点名功能。整个随机点名功能的操作流程如图1所示。

由于在教学内容页面中,只需要通过母版功能添加一个进入点名页面的按钮即可,所以这里重点介绍随机点名功能的界面设计,它主要是通过在VBA提供的用户窗体上安置各种控件来实现(如图2所示)。

说明:“停止”按钮由于与“开始”按钮完全重叠,因此初始状态被“开始”按钮遮盖。

1.3 数据库与路径设计

笔者设计的随堂点名PPT课件需要预先将各班学生的点名册转换到Access数据库的表中,每个数据表以班级命名,各表中共设计3个字段,分别是主键ID字段、学号字段、姓名字段。除了ID字段是自动编码的整数型外,其他2个字段均为字符串型。此外,为了丰富点名结果信息,教师可预先收集各班学生的登记照片,并以学号命名(后缀名统一为“.jpg”),各班照片存储到以各班级名称命名的文件夹中。为确保正确识别数据库和照片路径,教师在使用该点名功能时,需将班级文件夹统一放在名为“pic”的文件夹内,并与数据库文件、PPT课件放在同一根目录下。

值得注意的是,为避免学生数据库和照片信息泄露,教师应在下课时及时物理删除拷贝到教室电脑上的学生信息。

2 基于VBA技术的课堂随机点名PPT课件的程序设计

随机点名功能的程序设计主要分为以下几个部分:定义公有变量和私有过程、数据初始化、选择班级、随机点名、停止点名、关闭窗口。限于篇幅,这里仅展示数据初始化、随机点名和停止点名的程序设计。

2.1 数据初始化

当存在多个班级的花名册时,需要通过查询数据库中班级表的个数和名称,然后将它们自动添加到ComboBox1的列表上。具体的代码如下:

2.2 随机点名

随机点名的基本思路是:读取全班学生的总人数totalNum,然后生成一个1与totalNum间的随机整数,将其作为ID查询班级表,查找并显示该记录,同时记下该学生照片的完整路径;显示“停止”按钮,在未点击“停止”按钮前,该操作过程将反复执行。

2.3 停止点名

点击“停止”按钮,将终止随机点名;显示最后一次查询到的学生记录信息,并从相应文件夹中显示对应学生的照片信息;切换显示“开始”按钮。

3 应用效果与总结

从笔者的实际应用效果来看,大部分学生对于在PPT课件中加入交互性随机点名功能十分感兴趣,也乐于接受这样的点名方式。究其原因,首先,该课件突破了以展示课程内容为主的功能形式,加入了交互性因素,丰富了课件的表现形式,也吸引了学生的注意力;其次,正如部分学生所指出的那样,让计算机代替教师进行随机点名,不仅丰富了课堂活动,而且能够在一定程度上缓解由点名带来的焦虑感,同时还体现了一定的公平与民主精神,学生从心理上更易接纳它。此外,从使用方式来看,基于VBA技术的随堂点名PPT课件能够较好地与课件教学内容融合起来,并且不增加额外的开发难度和运行环境需求,因此适合在课堂上推广。当然,笔者设计的随机点名功能还存在不完善的地方,如可以尝试使用倒计时方式终止点名,加入声音元素以丰富点名效果,开发随机分组和小组点名功能以支持课堂小组管理等。

摘要:教师往往忽视PPT课件参与课堂管理的功能。针对课堂点名存在的问题,采用VBA技术,设计并制作了支持随机点名功能的PPT课件。实际效果表明:该课件使用方便,易于操作;点名结果公平、民主,易于接纳,受到学生的欢迎。

关键词:随堂点名,PPT课件,VBA

参考文献

[1]周媛.高校多媒体教学效果调查分析与策略研究[J].中国大学教学,2010(2):86-88.

[2]纪宏伟.基于ActiveX和VBA的PPT课件交互设计与实现:以选择题制作为例[J].中国教育信息化,2011(16):63-65.

[3]陈华,于玲华,张丽华,陈敏.发挥Powerpoint VBA优势提升课件交互性[J].昆明冶金高等专科学校学报,2009,25(1):85-90.

[4]颜清,彭小平.基于VBA的动画模拟课件的设计与实现[J].现代教育技术,2010,20(1):124-126.

vba心得体会 第4篇

学习并理解直至运用一门知识是需要花费时间和精力的,需要热情和坚持,但这还不够,为了避免少走弯路,掌握一些学习的方法和技巧,还有这门知识的特点和主线,快速的进入这门知识的殿堂。下面就自已对VBA的理解和认识。经过这一阶段的学习和研究,自已觉得ExcelVBA基础知识体系基本上由编程语法和对象模型两大部分组成。

第一部分是编程的语法。与其它的程序设计语言一样,VBA也有基本的数据类型和程序的基本语句结构,例如IFThen语句结构、ForNext语句结构等,并且VBA有其特有的数据类型,如Object类型,以及特殊的语句构造,如WithEnd With语句、For EachNext语句。此外,子过程和函数过程也有它们自身的特点,如传递参数和返回值的规则、调用方式等。一般来说,语法是基础。在学习VBA程序设计的语法时,除理解一般程序设计语言所通用的语法特点外,要重点关注VBA特有的语法及其规则。

第二部分是Excel的对象模型,这是ExcelVBA编程的核心。Excel本身是由对象结成的,您使用VBA对Excel进行操作,就是对Excel的对象的操作。在这里,您要学习Excel对象的方法、属性和事件,首先要理解对象、方法和属性之间的关系。Excel的对象模型提供了大量的对象,您想一下子学习并理解这么多对象及它们的成员是不可能的,可能绝大多数人都不可能。但事情往往是这样的,一门知识虽然包含的东西很多,但经常使用的总是那其中的一些知识点。因此,您可以先对其中经常使用到的对象(如上图所示)进行研究、深入的学习和理解。通过这种方式,逐步加深您对Excel对象模型的认识,从而渐渐地掌握和灵活运用Excel的对象模型。

最后,通过上述两部分的组合,就形成了VBA程序。也就是说,当您理解和掌握了VBA程序设计的基本语法和Excel的对象模型之后,通过使用VBA语法控制和操作Excel对象,一系列的指令就组成了ExcelVBA程序。当程序按照您的需求进行设计时,它就完成了对Excel进行自动化操作的功能,或者是增强了Excel原有的功能,或者是实现了Excel原来没有的功能。

在进行学习的过程中,会慢慢的熟悉Excel自带的VBE编程环境,也会了解程序调试的相关知识,知道如何处理错误等。在学习的过程中,充分的利用VBA的帮助系统和对象浏览器,解决在学习过程中出现的疑难,同时,也丰富了自己的知识。

另外,还要多看看VBA程序,并自已着手分析,对所学的知识进行归纳和总结,这是非常有利于迅速提高水平。

VBA技术在试题库建设中的应用 第5篇

1 面临的问题

在试题库建设中, 大量原始试题的批量录入和批量试卷的生成等两个技术问题, 无疑是此类项目的重要攻关内容。

微软公司Visual Basic for Applications (VBA1) 提供了一组比较复杂的基于微软公司Visual Basic发展系统的编程工具, 它是世界上最受欢迎的迅速的应用开发系统, 开发者能使用它去利用已被打包的应用程序。包括VBA的软件程序能被开发人员应用于二次开发。

通过研究, 我们可以采用VBA技术结合Delphi实现, 巧妙的解决了以上问题。

2 问题的解决

2.1 Delphi中WORD对象的引入

Delphi中可以通过两种方法使用Word应用程序对象:使用Word控件和Word对象。使用WORD对象, 需要在单元文件的“uses”段加入“Word2000”, 便可在程序中声明Word对象变量并创建, 如要打开“c:est.doc”, 可用如下代码实现:

2.2 利用WORD实现试题的批量录入

题库数据庞大, 数据的录入工作便成了最为繁重且基础的工作。在实际工作中, 让用户面对软件逐条录入试题, 将打打加大用户的工作量。

为了方便快捷的录入题库数据, 在试题库建设中我们可以采用Delphi与WORD结合的方式, 实现了题目的批量导入。录入员只要按照系统设计好的格式表格按要求整理好试题的Word文档, 利用系统的批量导入功能便可方便导入数据。具体实现如下:

首先, 利用WORD软件制作表1:

其次, 所要做的就是在程序中操作包含以上格式数据的word文件, 将数据读出导入题库。这里我们还涉及到word中表格的操作。如以上word文档中只有一个表格, 我们便可利用以下语句读出第三行各个单元格内容:

C1:=wordDoc.Tables.item (1) .Cell (3, 1) .Range.Text;

C2:=wordDoc.Tables.item (1) .Cell (3, 2) .Range.Text;

C3:= wordDoc.Tables.item (1) .Cell (3, 3) .Range.Text;

而当以上某单元格的数据包含非文本内容 (如图片、公式等) 时, 我们可以采用复制粘贴的方式, 借助Windows的格式文本对象 (RichTextBox) , 间接的获取:

myrange:=wordDoc.Tables.item (1) .Cell (3, 2) .Range; {获取第三行第二个单元格的Range}

myrange.End_:=myrange.End_-1;

clipboard.Clear; {清空剪切板}

myrange.Copy; {将第三行第二个单元格的Range内容复制到剪切板}

RichTextBox1.Text:='';

SendMessage (RichTextBox1.Handle, WM_PASTE, 0, 0) ;

{将剪切板内容复制到RichTextBox1对象中。}

采用批量导入其最大的优点是:只要有一台安装了Word软件的计算机, 任何一个录入员都可以在脱离系统软件的情况下整理题目, 然后由管理员统一导入到试题库中去。

2.3 试卷的生成

试卷的生成, 一方面要有切实可行的试卷生成策略, 另一方面也要有标准规范的试卷格式, 这一方面Word当然具有得天独厚的优势。在试题库建设中, 我们同样可以将生成的试卷以WORD文档形式提供给用户。本环节其实是录入环节的一个逆处理。例如:要将某试题内容输出到Word某指定段落, 可以这样实现:

WordApp.ActiveDocument.Paragraphs.Add (emptyparam) ; {添加段落}

m:=WordApp.ActiveDocument.Paragraphs.Count;

WordApp.ActiveDocument.Paragraphs.item (m) .Alignment:=wdAlignParagraphleft;

WordApp.ActiveDocument.Paragraphs.item (m) .Range.Select; {选中段落}

WordApp.Selection.Range.Text:='第一题'; {将字符串“第一题”输出到该段落}

同样, 如果要将格式文本对象 (RichTextBox) 中的内容输出到当前段落, 则:

RichTextBox1.SelStart:=0;

RichTextBox1.SelLength:=LENGTH (RichTextBox1.Text) ;

SendMessage (RichTextBox1.Handle, WM_COPY, 0, 0) ; {复制RichTextBox1中内容}

wordapp.Selection.Range.Paste; {粘贴到当前段落}

采用这种方法, 我们便可生成自己想要的任何形式的WORD文档。当命题人员制定好试卷策略之后, 只要选择好试卷的存放路径, 指定所要试卷的套数, 点个“确定”便可生成格式统一、规范的Word试卷文挡。

3 结语

采用以上方法方便了用户对题库数据的维护, 只要有一台安装了Word软件的计算机, 任何一个录入员都可以在脱离系统软件的情况下整理题目, 然后由管理员可以统一导入到试题库中去。VBA技术在试题库中的应用, 大大的提高了试题管理的效率和准确性, 提高了试题库建设的办公自动化、数字化水平。当然, 我们也可将此技术推广到各种相关的信息处理过程中, 使其更好的为我们服务。

摘要:提出了VBA技术在试题库建设中的应用方法, 包括试题的批量录入和试卷的自动生成。通过使用VBA技术, 实现了试题文档的自动化处理, 提高了试题管理的效率和准确性。

关键词:VBA,试题库,试题,试卷

参考文献

[1]王业根, 孙明, 等.W ord平台题库卷库系统的开发与研究.甘肃农业, 2005 (8) :135.

[2]李敏.解决“无纸化考试”题库录入问题一例.甘肃农业, 2005 (2) :86.

VBA技术在机械手设计中的运用 第6篇

VBA(Visual Basic for Applications)是基于Visual Basic发展而来的,它们具有相似的语言结构。它们的集成开发环境IDE(Intergrated Development Environment)也几乎相同。但是,经过优化,VBA专门用于Office的各应用程序。VB可运行直接来自Windows95或NT桌面上的应用程序,而VBA的项目(Project)仅由使用VBA的Excel、Word、Power Point等称为宿主(Host)的Office应用程序(Application)来调用。

机械手技术是为了代替人类在某些特殊环境下或者一些苛刻场合下从事生产或流水作业,利用其往返重复的工作来节约或者保护人的体力。由于机械手在生活中的大量运用,使得人类的生产率有了大幅度的提高,同时也改善了工作环境,让我们的生活变得越来越智能化。

由此可见VBA编程技术可以减少很多程序上的重复工作,而机械手又可以减少很多劳动力上的重复工作,针对两者这一共同的特点,很自然的想到了将它们结合起来。

1 机械手的发展

机械手技术的发展已经成为一个国家高科技水平和工业自动化程度的重要标志和体现。机械手在当前的生产和生活中的应用已经非常广泛,逐步替代着人类的各项劳作。而且机械手技术是一门综合了计算机、控制论、机构学、信息和传感器技术、人工智能、仿生学等多学科而形成的高新技术,集成了多学科的发展成果,代表高技术的发展前沿,是当前科技研究的热点方向。

工业机械手是最近几十年才发展起来的一种高科技自动化生产设备,也成为工业机器人的一个重要分支。其特点是可通过编写程序来完成预定的各项作业任务,在构造和性能上兼有人和机器各自的优点。机械手作业的准确性和各种环境中完成作业的能力,在国民经济各领域有着广阔的发展前景。在如今的各种生产过程中,机械手被广泛的运用于自动生产线中,机械人的研制和生产也成为高技术生产领域中速度发展起来的一门新兴的技术。从而也更加促进了机械手的发展,使得机械手能更好地实现与机械化及自动化的有机结合。

机械手技术涉及到多种领域,其中主要包括力学、机械学、电气液压技术、自动控制技术、传感器技术和计算机技术等科学领域,是一门跨学科综合技术。机械手是一种能自动化定位控制并可重新编程序以变动的多功能机器,它有多个自由度,可用来搬运物体以完成在各个不同环境中工作。而VB技术深入机械手的设计就是其中的一个重要的运用。

2 利用VBA实现机械手的编程

Auto Desk公司将VBA纳入到Auto CAD内部,用Auto CAD VBA进行二次开发。与VB一样,VBA也要用工程来组织应用程序。一个工程就是与应用程序有关的全部模块、对象以及和环境选项有关的设置。Auto CAD最大优点就是造型功能强大,所以,用VBA编写一般的三维实体非常方便。在造型时使用VBA的对象Acad3Dsolid,它提供了丰富的三维造型命令,如创建长方体用Acad3Dsolid对象中的Add Box,创建圆锥体用Add Cone,创建圆柱体用Add Cylinder。本软件中复杂的三维实体,都是用以上基本实体造型,通过交、差、并以及布尔运算来实现的。机械手由各个关节组成,关节之间的运动,或为旋转或为平移。同样用键盘的方式对各个关节的运动加以控制,对各个关节进行变换操作,过程与机械手的参数化建模相仿。

3 结语

机械手虽然目前还不如人手那样灵活,但它具有能不断重复工作和劳动,不知疲劳,不怕危险,抓举重物的力量比人手力大的特点,因此,机械手已受到许多部门的重视,并越来越广泛地得到了应用。VBA虽然可以解决程序上的重复工作,但是在机械手的灵活度和精准度上还有待提高。相信随着计算机技术和网络信息等技术的相应发展,机械手将更好地与新技术结合,从而解决现有的问题。

摘要:本文对VBA技术与机械手技术作简要介绍,并且利用AUTOCAD作为软件平台,实现了VBA技术在机械手设计中的运用。

关键词:VBA,机械手,可视化编程

参考文献

[1]周骥平,林岗.机械制造自动化技术[M].北京:机械工业出版社,2007.

[2]史士财,吴剑威,崔平远等.空间机械臂全局反作用优化及地面试验研究[J].机器人,2009.

[3]骆敏,王卫东.基于AutoCAD的机械手三维仿真[J].研究与探索,2011.

VBA技术 第7篇

在某些方面, AutoCAD的命令功能还无法满足专业设计、绘图的需要, 因此还需要利用AutoCAD的开放性来改善原AutoCAD命令使用不便捷的问题, 或者增加一些原来没有的功能, 这将大大提高绘图效率。AutoCAD的开放性具体体现在它提供了多种二次开发程序设计语言, 如AutoLISP、VisualLISP及VBA等程序设计语言。VBA是一个面向对象的程序设计环境, 提供类似VB语言的功能。更重要的是, VBA不仅可以控制AutoCAD的内部对象, 还可以在其他的应用程序与AutoCAD之间传送或存取数据[1]。

本研究将具体阐述如何利用VBA在AutoCAD中实现轴、孔公差的自动标注。

1传统轴、孔公差的标注过程

在AutoCAD绘图软件中进行轴、孔的公差标注时, 需要执行“dimstyle”命令打开标注样式管理器, 点击“修改”按钮, 在弹出的“修改标注样式”对话框中选择“主单位”选项卡, 在前缀 (X) 栏中输入“%%c”用来显示轴、孔的标志符号“Φ”, 将后续消零检查框选中。另外再选择“公差”选项卡, 在“公差格式方式”下拉框中选择“极限偏差”, 为防止上、下偏值小数点后第3位被舍弃, 需在精度下拉框中选择“0.000”, 即保留3位小数, 精度缺省值是“0.00”。然后在上、下偏差栏中分别输入从轴、孔极限偏差表中查得的偏差值后, 方可进行标注。而且每次标注都需要重新查表、设置, 效率低下。

2利用VBA实现轴、孔公差的自动标注

本研究利用AutoCAD中内嵌的VBA接口编制一段程序实现轴、孔公差的自动查表, 设置系统变量并标注, 可为设计绘图工作省下一些时间并且在一定程度上减轻了工作量。

将上、下偏差数据直接写在VBA程序中, 由选择语句 (select case) 根据具体条件进行判断选择, 会造成程序过长、查错困难且不易对程序及偏差数据进行维护。为避免上述缺点, 需将偏差数据存入ACCESS文件、EXCEL文件或者其他数据文件中[2]。本研究采用EXCEL文件存储上、下偏差数据。为了方便、直接地访问数据源, 本研究采用了ADO技术。它是微软公司在开发环境中引入的数据访问对象模型, 通过ADO建立AutoCAD中VBA开发环境与EXCEL文件之间的连接, 可以很方便地存取数据[3]。

2.1ADO及VBA开发环境准备

打开AutoCAD程序, 选择“工具”“宏”“Visual Basic编辑器”菜单项进入VBA IDE环境, 如图1所示。在代码编辑器中输入程序代码后保存, 即会生成一个后缀为.dvb的VBA工程文件, 将其命名为gcdim.dvb, 存于任意位置均可。因为要用到ADO技术, 保存前在VBA IDE环境中选择“工具引用菜单”项, 在弹出的引用对话框中选择Microsoft ActiveX Data Objects 2.0 Library (如图2所示) , 确认检查框被选中, 若没有引用此项, 程序执行时会产生错误[4,5,6]。

2.2标注功能程序实现

2.2.1 保存系统变量并定义相关变量

因为要连接数据文件, 应定义一些变量来处理ADO的相关连接、指令及记录组等。另外, 在程序的开头部分需定义一些中间变量用于存放过程数据及保存相关的系统变量。定义过程名为“gcdim” (也可以作其他命名) , 以后调用时必须输入事先定义的过程名, 然后以“GetVariable () ”将系统变量存入定义好的中间变量, 相关系统变量的意义分别为:“dimtp”表示上偏差值;“dimtm”表示下偏差值;“dimtol”及“dimlim”表示是否以极限偏差形式标注;“dimtdec”表示标注的精度值;“dimtzin”表示标注值是否消零;“dimpost”表示标注前导值等等。之后, 还需要定义一组“Variant”变量用来记录用户输入点的坐标。

部分程序如下:

2.2.2 接收用户输入

要求用户输入各点位置及参数的程序如下 (程序提示用户输入示意图如图3所示) :

pt1 = ThisDrawing.Utility.GetPoint (, “指定第1条尺寸界线原点或 <选择对象>:”)

pt2 = ThisDrawing.Utility.GetPoint (, “指定第2条尺寸界线原点:”)

locpt = ThisDrawing.Utility.GetPoint (, “指定尺寸线位置:”) ’按AutoCAD中Dimlinear命令提示内容, 提示用户输入尺寸界线原点及尺寸线位置

X = ThisDrawing.Utility.GetString (False, “指定公差代号:”) ’提示用户输入公差代号

2.2.3 根据用户输入判断并计算尺寸数值

根据用户输入的各点位置来判断并计算实际尺寸值的程序如下:

End If ’利用两个嵌套的复合条件语句, 并根据用户输入的尺寸界线原点、尺寸线位置相对关系计算实际尺寸值, 存于dist变量中。

2.2.4 连接数据文件并查出偏差值

连接数据库并根据实际尺寸值及公差代号查出上、下偏差值, 实现自动标注的程序如下 (自动标注效果图如图4所示) :

2.2.5设置相关变量并实现标注部分程序如下所示:

2.2.6关闭记录、连接, 释放内存, 激活视图, 恢复统变量

恢复AutoCAD系统变量原始值的程序如下:

2.2.7程序错误处理部分错误处理部分程序如下:

4结束语

本研究介绍了以DSP为核心的磁悬浮轴承控制系统的硬件电路, 包括硬件电路总体结构, 滤波及电压转换电路, 高速A/D和D/A的实现方式以及功率放大器电路。通过LabVIEW监控系统采集的波形, 证明了上述设计能够满足实际磁悬浮轴承静态悬浮的控制要求在磁悬浮轴承从静态悬浮到转速为21 000r/min的实验中, 轨迹没有超出监控范围, 取得了良好的效果。

摘要:为了提高设计绘图效率, 通过ADO及VBA开发环境接收用户输入, 根据输入进行判断和计算后, 连接数据文件并查出偏差值以进行标注, 最后关闭记录、连接, 释放内存, 激活视图, 恢复系统变量。最终在AutoCAD中利用VBA程序设计语言及微软的ADO技术, 实现了根据用户需求对轴、孔公差的自动标注。测试结果表明, 该技术可使得AutoCAD中的公差标注更加快速准确。

关键词:AutoCAD,VBA,ADO,轴、孔公差,自动标注

参考文献

[1]MCFARLANE S.AutoCAD数据库连接[M].罗阿理, 卢迪译.北京:机械工业出版社, 2001.

[2]任继文.用VBA实现AutoCAD图形明细表与数据库的链接[J].机械设计与制造, 2004 (3) :40-41.

[3]王永杰, 周振红, 苗丽.AutoCAD和Excel间的数据通信[J].河南科学, 2004, 22 (4) :129-131.

[4]林龙震.AutoCAD 2000/2000 i/2002程序设计基础教程[M].北京:科学出版社, 2002.

[5]张国宝.AutoCAD 2000 VBA开发技术[M].北京:清华大学出版社, 2000.

VBA技术 第8篇

在日常的人事办公工作中,人们会经常使用到微软的Office系列办公套件,包括Excel、Word、PowerPoint、Access等,来记录各种数据以及生成各种文件。其中最繁复的一项工作是生成各种通知单,虽然格式一致,但其中的数据需要根据个人的区别定制,人工编辑工作量巨大,且容易出错。本文利用Excel中的VBA编程,以及Office自动化技术,以工资单为例,实现从原始Excel文档中自动提取数据,自动批量生成Word文档形式的通知单。

1 VBA编程及Office自动化技术

VBA(Visual Basic for Application)是微软开发的、在其桌面应用程序中执行通用的自动化任务的编程语言。Excel是最早支持VBA的Office组件,现在所有的Office组件都支持VBA编程。

Microsoft公司提供的自动化技术,可以将某一个应用程序的功能或部分功能,当做一系列的对象来提供给其它的外部应用程序,这些外部应用程序可以使用这些对象。整个过程就被称为自动化(Automation)。任何用Word、PowerPoint、Access等应用程序能够完成的工作,都可以通过使用自动化在Excel VBA应用程序中完成。将其它应用程序作为一个对象来使用,可以让Excel应用程序整合其它Office组件的功能。

2 应用实例

要在Excel中通过自动化技术来控制Word,即用Word作为服务应用程序,首先需要在Excel中引用Word对象,也就是选中“Microsoft Word 12.0 Object Library”,然后在VBA代码中通过Dim语句声明变量为Word Application类型,通过该变量就可以

执行相应的Word应用程序。

制作工资单模板,首先按照需要的格式编写Word文档,在合适的位置插入书签,如name、date、salary等,以便在VBA代码中识别相应的位置,插入个性化内容,如图1所示。

接着在Excel中编写VBA代码,将Excel“工资表”中每一个人的记录,保存到一个临时表“TEMPSHEET”中,然后调用Word服务程序来自动生成每个员工的工资单,如图2所示。

编写子过程“创建word文档”,用来生成工资单。首先使用前面准备的工资单模板文件,创建一个新的Word文档,然后依次查找Word文件中的每个书签,将Excel表格中的相应内容插入书签处,最终使用员工姓名作为文件名来另存为最终需要的Word文档,如图3所示。

在Excel中添加按钮,并为按钮指定执行的宏,也就是上文所写的VBA过程“生成工资单”。用户点击此按钮,程序会自动执行,分别生成每个员工的工资单Word文档,如图4所示。

3 结束语

VBA编程以及Office自动化技术,有着非常强大的功能,能够支持各种复杂的办公应用,结合数据库技术,甚至可以构建整个人事管理系统。本文只是从一个很简单的人事办公应用着手,构建了一个自动化生成工资单的实例,从这也可以看出微软相关技术的优点,不需关注用户界面,文档处理等过程,仅需少量代码调用Office对象接口,就可以实现强大功能。以上程序经过实际测试,达到预期结果。

参考文献

[1]张强.Excel.2007与VBA编程从入门到精通[M].电子工业出版社,2009.

[2]冷秋颖,李金宝.VBA编程在统计报表中的应用研究[J].吉林师范大学学报:自然科学版,2010(3):133-134.

[3]张祥云.利用Excel VBA技术建立酿造生产数据查询系统[J].啤酒科技,2010(5):21-22.

[4]张旭.利用Excel VBA/ADO选择性地查询数据库的数据[J].武汉工程职业技术学院学报,2009(4):30-34.

VBA技术 第9篇

在智能型气体分段计量系统中,生产数据的有效存储、索引及各种报表是生产企业分析生产效率、设备运行状况、能源消耗和贸易结算的重要依据。报表是企业管理的基本措施和途径,是企业的基本业务要求,也是实施BI战略的基础,它可以帮助企业访问、格式化数据,并把数据信息以可靠和安全的方式呈现给使用者[1]。气体分段计量能够深入洞察工业气体企业运营状况,是企业发展的强大驱动力。

2 分段计量系统的设计背景

专业气体分离设备制造商的发展趋势是向产业链的下游延伸,既卖气体分离设备又卖气体,这种运营模式的出现就决定了气体供应商与使用厂家之间的结算关系。气体计量的波动性、间歇性导致计量的复杂性,我们就是针对市场的这个需求研制了智能型气体分段计量系统,它是按照单位时间内累计流量进行分段处理,每段的单价是不同的,而复杂的工艺条件决定了报表的复杂性,利用VBA和SQL技术主要目的是解决数据存储与索引、数据统计复杂、数据需要分段计算、报表需要自动生成和打印等技术难题。该分段计量系统的设计是一项集SCADA、SQL、VBA和数据库技术于一身的综合数据信息系统。

3 利用SQL实现生产数据的存储

数据库技术的最基本的就是首先解决历史数据的存储与归档问题,本系统不单纯的是一个数据库管理软件,生产数据的存储要结合SCADA软件Wonderware I nt o u c h和数据库平台S Q L S e r v e r或A c c e ss。通过Intouch软件利用SQL语言将生产数据存储到Access数据库中。其实SCADA软件的核心技术也是实时和历史数据库的技术。下面将介绍如何从Intouch中使用SQL数据库将生产数据写入历史数据库:

3.1 设置数据源

“结构化查询语言”(Structured Query Language,简称SQL)是用来以查询的形式访问该类信息的语言。如果想在Intouch中使用SQL数据库,首先在安装应用程序时选中并安装“SQL访问管理器”组件,它是一个与ODBC兼容的应用程序,可以同应用ODBC驱动程序或OLE DB供应器的任何数据库进行通讯,让您可以使用查询来访问、修改、创建以及删除数据库表。配置数据库连接字符串有多种方法,例如使用“Microsoft ODBC管理器”程序来配置要给“SQL访问管理器”使用的ODBC驱动程序。

3.2 将Intouch标记映射到数据库列

通过“绑定列表”来完成“In Touch标记”映射到数据库列,大多数SQL Access函数都通过“绑定列表”来使得In Touch标记可以访问SQL数据库表中的数据。“绑定列表”将数据库表列与In Touch的“标记名字典”中的标记关联起来。“绑定列表”还包含一个描述数据库表格式的“表模板”。运行包含SQLInsert()、SQLSelect()或SQLUpdate()函数的脚本时,“绑定列表”更新为指定使用了哪些In Touch标记,以及同这些标记关联的是哪些表格列。系统的关系模型如图1所示。

3.3 使用数据库应用程序

“SQL访问管理器”支持Oracle、Microsoft SQL Server以及Microsoft Access数据库。每种数据库都有一些独特的要求。下面分别介绍如何配置每种数据库与“SQL访问管理器”之间的连接。

3.3.1 SQL Server数据库应用程序

您可以在In Touch Quick Script中使用SQLConnect()函数来连接M i c r o s o f t S Q L S e r v e r数据库。SQLConnect()函数将用户登录到SQL Server数据库并打开一个连接。SQLConnect()函数使用的连接字符串的格式如下:

Connection ID参数是包含会话编号的整型标记。几乎每个其它SQL Access函数都要使用这个会话编号来引用与SQL Server数据库的连接。每调用一次SQLConnect()函数,会话编号递增1。表一介绍M i c r o s o f t S Q L Server使用的SQLConnect()函数属性:

“SQL访问管理器”将四种类型的In Touch标记(离散、整型、实型以及消息)同其它SQL Server数据库数据类型关联起来[2]。

3.3.2 Microsoft Access数据库应用程序

要与Microsoft Access通讯,必须通过在In Touch Q u i c k S c r i p t中执行S Q L C o n n e c t()函数来连接它。SQLConnect()函数用于连接到Microsoft Access数据库。通过运行包含SQLConnect()函数的脚本,可以登录到数据库服务器,并打开一个连接,以便运行其它SQL函数。SQLConnect()使用的连接字符串的格式如下:

DSN是Microsoft Access使用的一个独特属性,用于确定在“Microsoft ODBC管理器”中配置的数据源的名称。

“SQL访问管理器”支持的有效数据类型取决于所使用的ODBC驱动程序的版本。

3.3.3 Oracle数据库应用程序

要在SQL Access与Oracle数据库之间进行通讯,必须通过运行包含SQLConnect()函数的脚本来连接它。

要与Oracle 8.0数据库进行通讯,确认运行In Touch的计算机上是否安装了Or ac le OLEDB P ro v id er(MSDAORA.DLL)文件。此文件是由随In Touch一起安装的MDAC来安装的。通过在In Touch动作脚本中执行SQLConnect()函数连接到Oracle。

SQLConnect()函数使用的连接字符串的格式如下:

表2介绍Oracle使用的函数属性:

4 生产数据的索引

作为SCADA系统的基本功能就是人机界面,而计量系统中计量数据的索引是非常重要的部分。本系统采用Wonderware GRID数据库浏览控件,只需要将必要的配置信息配置准确,便可以实现数据的浏览。下面举例说明grid如何连接数据库:

(本例的控件命名为Grid1.)

不同的数据库类型,其连接的字符串不同,列举如下:

5 VBA技术实现报表自动化

Visual Basic for Applications(简称VBA)是新一代标准宏语言,是基于Visual Basic for Windows发展而来的。它提供了面向对象的程序设计方法,提供了相当完整的程序设计语言[3]。由于VBA可以直接应用Office套装软件的各项强大功能,所以对于程序设计人员的程序设计和开发更加方便快捷。气体分段计量系统中的报表就是利用VBA技术与Excel相结合实现了报表的自动化。

将数据库中的数据导入Excel数据表中做进一步分析是很普遍的用法,但是由于数据库文件与Excel工作表的格式基本上是完全不同的,因此要利用Excel来访问外部数据库时,则可以通过ODBC驱动程序,开放数据库互连(ODBC)已成为Client/Server数据库应用系统中访问远程数据库的一个标准。做为强大的前端开发工具,MS Visual Basic为开发者提供了多种访ODBC数据源的途径,如JE T数据库引擎、ODBCAP I函数、RDO接口等。比较而言,直接使用ODBC API函数的编程难度最大,但由此获得的存取数据库的性能也是最佳。诚然,VB4.0企业版提供的RDO接口的性能已经接近ODBC API,但是遗憾的是,这个接口只能在32位Windows环境中运行,而ODBC API函数则没有这个限制。

至此已经将需要索引的数据索引到相应的Excel的表格中,下面就是将索引到的数据进行处理,因为处理的方式与客户的要求有关,而且没有技术上的困难,因此本文不再赘述。最后将处理后的数据分别利用VBA指令填充的到设计好的报表模板中,便可以实现报表的自动化处理。

6 结束语

报表自动化系统是气体分段计量系统的重要组成部分,优秀的报表系统会给系统增添极大的方便,提高工作效率。利用SQL和VBA技术实现报表自动化系统是当前工业SCADA系统中比较常用也比较活跃的技术,其灵活性可以让编程设计人员充分发挥其聪明才智。本文旨在抛砖引玉,为SCADA系统和报表设计人员提供些参考。

摘要:本文阐述了在气体分段计量系统中,利用SQL和VBA技术,基于Wonderware Intouch和Microsoft Excel软件来实现生产数据存储、索引以及报表自动化的关键技术和流程,对于从事SCADA系统开发和报表软件开发人员,尤其是SCADA报表开发有着重要的参考意义。

关键词:VBA,SQL,报表,分段计量,Intouch

参考文献

[1]中国社会科学院工业经济研究所.2009中国工业发展报告[R].经济管理出版社,2009,9.

[2]范立南,刘天惠等编著.SQL Server 2000使用教程[M].北京:清华大学出版社[,2004.

VBA技术范文

VBA技术范文(精选9篇)VBA技术 第1篇1 概述本考试评分系统是根据计算机文化基础考试而开发的一套考试平台,界面美观,功能强大,模拟上机考...
点击下载文档文档内容为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部