当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: VBA开发实用指南 唐大中 附录文章 VBA(Visual Basic for Application)是Office自带的二次开发工具,可为日常办公带来极大的便利。
 

 

 ·the c# programming language notes    »显示摘要«
    摘要:1,不彻底的abstract 即使是abstract class,也不能对实现的接口的某个成员视而不见,即下面这样是不允许的: interface in_one{ void a();} abstract class base_one : in_one{ } 这一点上还是java方便,不管c#的初衷是什么 2,out参数与指针的指针 out子类不能转化为out基类,如果允许转换的化,将无法保证类型安......
 ·pager procedure for sql server    »显示摘要«
    摘要:set quoted_identifier on go set ansi_nulls on go alter procedure dbo.pager ( @page_num int = 1, @item_count int = 0, @query_suffix nvarchar(4000), @query_fields nvarchar(4000) = ´*´, @quer......


转贴(电脑报):VBA开发实用指南

vba开发实用指南     唐大中 附录文章

  一.vba基础  1.什么是vba 【程序编程相关:专业人士、牧师与狂热者:三面Linux

  vba(visual basic for application)是office自带的二次开发工具,可为日常办公带来极大的便利.本文讲述office各个成员vba开发的常用对象与其相关的属性.方法与事件(包括word.excel.powerpoint等),并给出相关的实例代码. 【推荐阅读:进行有效编辑的七种习惯

  2.录制/运行宏 【扩展信息:李纳斯·托沃兹(Linus T

  在office对于一些烦琐.重复的操作,用户可以通过“宏”来实现.“宏”即是由一系列命令与指令组合而成的命令集,其本质是vba代码组成的程序.vba是微软在其开发的应用程序中共享的通用自动化语言.

  vba初期开发可通过录制“宏”的操作来获取代码,在office中几乎所有的操作均可通过录制“宏”来获取代码.这里,我们通过一个简单的“宏”录制实例来学习:在word中将所有的“电脑”字样替换为“计算机”,并插入一张4行2列的表格.

  在office中录制宏,可单击“工具→宏→录制新宏…”菜单命令实现,单击该命令后将出现“录制宏”对话框,如图1所示.

 

  其中,“宏名”框用于为录制的宏设置名称,可使用默认的“macro1”.“工具栏”与“键盘”二个按钮分别用于设置宏的触发位置.“将宏保存在”框可设置宏的保存位置,一般包括“normal.dot”(共用模板)与当前文档2种,建议保存在当前文档中,以免对所有文档产生影响.在“说明”框中可输入对该宏的相关说明.单击“确定”按钮,即可开始录制宏.此时在文档编辑界面中将显示“宏录制”工具栏.该工具栏有2个与录音机非常类似的按钮,第一个按钮为“停止录制”,第二个按钮为“暂停录制”.在录制过程中可随时通过这二个按钮来进行控制.

  随后按常规操作来实现前述的任务,操作完成后单击“停止录制”按钮,结束录制即可.

  注意:录制“宏”时可使用鼠标单击菜单与按钮,但无法录制鼠标在文档窗口中的移动,因此必须通过键盘来实现这些动作.此外,office中所有录制的“宏”,其名称的首字符必须为字母或汉字.数字及下划线(名称最多可为255个字符),且“宏”名称中不允许包含空格.

  运行已录制的“宏”,可单击“工具→宏→宏”菜单命令.在出现的“宏”对话框的“宏名”下拉框中选择需运行的宏,然后单击“运行”按钮即可.随后word将自动重现前述执行的操作,避免了重复的办公操作.

  3.宏的局限性

  虽然office的大部分操作均可用录制“宏”的方法来保存,但录制的“宏”仅“忠实”地再现了特定的操作,对于一些需要进行逻辑判断与流程控制的操作,则显得力不从心,如自动替换多个不同的内容时,按录制“宏”的方式操作,需要按替换内容的数量录制多个“宏”,且每个“宏”仅可用于某个内容的替换,反而为工作增添了麻烦.

  录制“宏”存在很多局限性,除无法进行逻辑判断与流程控制操作外,还包括很多.如交互能力较差.无法显示office的内置对话框.无法显示用户自定义的窗体与无法创建复杂的工具栏或修改菜单等.

  4.vba编辑环境

  虽然“宏”存在很多局限性,但通过录制“宏”获取了vba代码后即可通过vba编辑器来为代码添加逻辑控制并设计流程等.以word 2002为例,“宏”录制完成后,可在运行宏对话框中选择录制的宏并单击“编辑”按钮,即可显示vba编辑环境,如图2所示.

 

  vba编辑环境由工程资源管理器.属性窗口与代码编辑/窗体设计窗口等部分组成.在工程资源管理器中列出当前打开的所有vba项目,属性窗口用于设置相关对象的属性,代码编辑/窗体设计窗口则可输入模块的代码或编辑窗体与类模块.

  二.vba开发共用对象详解  vba与其他面向对象的开发语言类似,同样有非常多的对象组成,且不同的office成员即提供了大量的开发对象,如工具栏.office助手.内置对话框与窗体等.

  (一)工具栏及其控件对象  在office中通过vba开发工具栏与菜单,需使用office提供的commandbar.commandbarbutton.commandbarcombobox等对象,这些对象即代表工具栏.工具栏按钮与工具栏下拉框,通过这些对象可编制出各类复杂的工具栏或菜单.

  1.commandbars集合

  该集合代表office所有的工具栏,可用名称或索引号指定菜单栏或工具栏,但仅可用名称指定一个菜单.快捷菜单或子菜单.如两个或两个以上自定义菜单或子菜单名称相同,则返回第一个具有该名称的对象.

  其add方法用于新建一个工具栏,并返回 commandbar对象.

  语法:expression.add(name, position, menubar, temporary)

  参数说明:

  name为可选的variant 类型,代表新工具栏的名称.如果省略,则使用默认的名称;position为可选的variant 类型,代表新工具栏的位置.该参数值可通过vba常量进行设置,如msobarleft.msobartop.msobarright.msobarbottom常量(设置新工具栏位于软件工具栏中位置);msobarfloating常量(代表新工具栏可移动);msobarpopup常量(代表新工具栏为快捷菜单)等;menubar为可选的variant 类型,用于设置是否用新工具栏替换活动工具栏;temporary为可选的variant 类型,用于设置新工具栏是否暂时有效.

  2.commandbar对象

  该对象代表应用程序中的工具栏,新建工具栏的控件均以该对象为载体.

  (1)controls属性:返回commandbarcontrols对象,代表指定工具栏中的所有控件.

  (2)namelocal属性:返回由应用程序版本语言所设置的工具栏名称,如对软件的内置工具栏设置会出现错误.

  (3)position属性:返回或设置工具栏的位置,值可通过vba常量进行设置,如msobarleft.msobartop.msobarright.msobarbottom.msobarfloating.msobarpopup或msobarmenu等.

  (4)type属性:返回或设置工具栏的类型,值可通过vba常量进行设置,如msobartypenormal(工具栏为普通类型).msobartypemenubar(工具栏为菜单类型).msobartypepopup(工具栏为弹出菜单类型)等.


...   下一页
 ·构建asp    »显示摘要«
    摘要: 构建asp_net逻辑构件库 概要 使用asp.net开发高重用,松耦合,框架良好的web 应用程序。并且可以形成高可用的构件库。 对象 本文主要针对使用asp.net开发bs系统的开发人员、项目经理以及负责软件质量的领导。 背景以及解决之道 背景,应用软件的特点:1、看重业务,业务繁杂,客户独特要求很多,版本众多,有些公司对每个客户都要产生一个新的版本,很少有人了解所有版本之间的差别,如此之多......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE