nullnullVBA应用开发与实例VBA应用开发与实例李 辉
微软课程培训讲师活动行程
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
活动行程表VBA编程环境
Office对象模型
VBA编程技巧与案例
Office XP开发版简介什么是宏什么是宏宏是一段定义好的操作,它可以是一段程序代码,也可以是一连串的指令集合。
宏的作用可以使频繁执行的动作自动化
节省时间,提高工作效率,又能减少失误 null开始录制宏操作步骤完成宏录制运行宏录制宏
需要经常重复执行的某项任务,就可以把执行这些任务的步骤全部录制在宏里,把宏变为可自动执行的任务 执行宏的操作
执行宏的命令
在工具栏上设置宏按钮
使用窗体控件
使用图形对象执行宏 nullVBA帮助你完成从必然王国到自由王国的飞跃充分发挥Office XP的强大功能,成为Office应用的真正高手宏的结构宏的结构Sub 主界面()
'
' 主界面 Macro
' Coren Lee
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
的宏 2002-11-5
'
'
Sheets("主界面").Select
End Sub宏名批注宏程序Visual Basic编辑器Visual Basic编辑器用来编辑宏程序或制作更高阶的整合性应用程序
附属于Office之下,使用较少的系统资源,达到编辑应用程序的目的。什么是工程什么是工程工程就是模块的集合,包括:
用户窗体
文件,例如Excel中的工作表以及图表工作表
模块
类模块
ActiveX文件
引用的其他工程Visual Basic for ApplicationVisual Basic for Application为何要使用 VBA
宏缺少伸缩的弹性
记录了许多不需要的步骤
记录了许多不需要的资料
无法使用较深入的功能
无法完成重复性的工作
无法完成需要条件判断的工作认识VBA认识VBAVBA是一个通用程序语言,可共享Microsoft各种相关的重要软件。
以VBA编写的程序允许用户将其复制到Visual Basic中加以调试,用Visual Basic宏来控制Excel。
当记录宏不能满足用户需要或用记录宏无法记录命令时,可以用VBA语言创造宏来控制工作簿的各项操作。
创建用户对话框、工具按钮或自定义命令,把Excel提供的多个工具按钮连接起来,作为一个工具按钮。
利用重复语句控制循环宏内操作,利用不同参数执行某个相关功能模块,使宏指令完成一系列复杂操作。来连接多个宏。
VBA提供了许多内部
函
关于工期滞后的函关于工程严重滞后的函关于工程进度滞后的回复函关于征求同志党风廉政意见的函关于征求廉洁自律情况的复函
数,还允许用户自定义函数来简化对工作簿、工作表、图表等复杂操作。VBA程序的基本架构VBA程序的基本架构对象
面向对象的开发方式
VBA是以操作Office对象为目的的程序语言
属性
对象所属的特性或特征
方法
控制对象的内建动作或功能,以便可以让程序顺利打开
事件
发生于对象上的事情VBA与Visual Basic的差异VBA与Visual Basic的差异Visual Basic以界面为中心的开发方式
重点在使用者如何进行操作
VBA以文件为中心的开发方式
重点在使用者最后看到什么nullExcel对象结构使用对象的程序语法使用对象的程序语法Workbooks(“Mybook.xls”).Worksheets(“Sheet1”).Range(“B5”).Value = “ABCDE”属性Workbooks.Close集合对象Office 对象模型Office 对象模型顶级对象:Application
层次式对象模型结构
查看结构模型图(帮助)
对象浏览器
自动列出成员功能
对象属性
对象方法
事件:文档级和应用级VBA的重要语法VBA的重要语法Set Object1 = Object
Object.Property = Value
Object.Method (Setting)VBA程序开发的步骤VBA程序开发的步骤设定引用的参数项目
定义对象变量
设置对象变量
完成对象的接口
对象属性
操作方法
事件程序VBA控制结构VBA控制结构分支结构If 〈条件1〉 Then
〈语句块1〉
ElseIf 〈条件2〉 Then
〈语句块2〉
·
Else
〈语句块n+1〉
End If Select Case 〈测试变量〉
Case 〈表达式1〉
〈语句块1〉
Case 〈表达式2〉
〈语句块2〉
·
Case Else
〈语句块n+1〉
End Select VBA控制结构VBA控制结构循环结构For 〈变量〉=〈初值〉 To 〈终值〉 Step 〈步长〉
〈语句块〉
Next 〈变量〉For Each 〈对象变量〉 In 〈对象集〉 〈语句块〉 Next 〈对象变量〉
Do While 〈条件表达式〉
〈语句块〉
Loop 示例:在Excel中打印工资表示例:在Excel中打印工资表Sub InsertTitle()
Selection.CurrentRegion.Select
Cells(Selection.Row, Selection.Column).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
ActiveCell.Offset(2, 0).Range("A1").Select
Do Until ActiveCell = ""
Selection.Insert Shift:=xlDown
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
ActiveCell.Offset(2, 0).Range("A1").Select
Loop
Application.CutCopyMode = False
End Sub示例:对话框与外部应用程序示例:对话框与外部应用程序Private Sub donkey_Click()
MsgBox (" I am a donkey ")
End SubPrivate Sub Wabbit_Click()
Call PlaySound(ActiveDocument.Path
+ "\wabbit.wav")
End SubPrivate Sub turtle_Click()
Const Answer = "TURTLE"
Dim Tries As Integer
Dim Message, Title, Default0, MyValue As String
Tries = 0
Message = "What am I?" 'Set prompt.
Title = "What am I?" 'Set title.
Default0 = "******" 'Set default for input field.
Question:
Tries = Tries + 1
If Tries = 3 Then
Default0 = "T*****"
End If
If Tries = 4 Then
Default0 = "TUR***"
End If
MyValue = InputBox(Message, Title, Default0)
MyValue = UCase(MyValue) 'Convert to uppercase
……示例:保存并关闭系统示例:保存并关闭系统Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Dim abc
abc = MsgBox("您确认要关闭本系统吗?", vbQuestion + vbYesNo + vbDefaultButton2, "确认")
If abc = vbYes Then
Worksheets("股票收益计算器").Unprotect Password:="1"
Worksheets("股票收益计算器").Range("G13").FormulaR1C1 = "0"
Worksheets("股票收益计算器").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="1"
Sheets("说明").Select
ActiveWorkbook.Save
Else
Cancel = True
End If
End Sub程序编写的特殊考虑程序编写的特殊考虑如何启动特定版本的应用程序
CreateObject
如何使用当前的应用程序
GetObject
如何结束应用程序
Application.Quit
如何清除内存的占用
Set appObject = Nothing创建用户窗体创建用户窗体提示使用者选取、输入或浏览数据
使用控件
文本框输入文字
列表框选取内容
选择框选取一个或多个功能用户窗体窗口的操作用户窗体窗口的操作建立用户窗体
配置ActiveX控件
设置窗口属性
配置控件属性及其事件
Load与UnLoad语句
加载到内存或从内存中释放
用Show和Hide方法控制对象的显示和隐藏
nullVBA帮助你完成从必然王国到自由王国的飞跃充分发挥Office XP的强大功能,成为Office应用的真正高手 使用Excel创建进销存管理系统
在Word中完成员工信息的录入和查询
妙用窗体制作小游戏封装应用程序封装应用程序菜单栏的替换
窗口环境的替换
工具栏的替换
完成应用程序封装
保护应用程序开发保护应用程序开发加入程序修改口令
使用数字签名
Office XP技术允许通过使用“数字证书”对文件或宏进行数字签名。你可以把数字证书看作是身份证的电子版本。
使用“数字签名”以后有什么效果呢?如果整个文件都被签名,任何人(包括你自己)将它修改的话,文件的签名都会被破坏。也就是说,签名将保证自签名以后后该文件没有被修改。
打包向导打包向导打包操作可创建一个程序包,将应用程序安装到用户计算机。
程序包包含一个或多个.cab文件以及运行应用程序所必须安装的其他所有文件
打包步骤
确定需要分发的文件
如果需要,创建应用程序组件的依赖文件
确定要将文件安装到用户计算机的什么位置
创建程序包Office XP产品系列Office XP产品系列Microsoft Office 开发平台的特点Microsoft Office 开发平台的特点降低开发和部署的总成本
可利用 Office 部署工具
利用流行和熟悉的技术
开发量极小
减少使用者的培训负担和支持费用
培训不再必不可少
提高了对需求的及时反应能力和解决
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
的灵活性
起点高,开发周期短MS Office 的开发原则MS Office 的开发原则MS Office 是一个功能齐全的应用系统
MS Office 是一个灵活方便的开发平台
Office 开发的原则
能不开发就不开发
很多功能 Office 原已提供
对 Office 了解越多,开发者的效率越高
Office 开发者:全球 260 万
Office 开发版—Office 完备开发工具Office 开发工具的发展概况Office 开发工具的发展概况Office 从一开始就是一个开放的系统
Office 97 以前
WordBASIC
Access Basic
VBA in Excel
Office 97: Visual Basic for Applications 5.0 (Outlook 支持 VBScript)
Office 2000: Visual Basic for Applications 6.0 和 Script
Office XP…Microsoft Office XP 开发版Microsoft Office XP 开发版Office XP 中文开发版:面向 Office 开发人员的开发工具和示例
Windows 组件更新
Visual SourceSafe:源代码控制软件
Microsoft Exchange 2000 Server Developer Edition
Microsoft SQL Server 2000 个人版的开发和测试版
带有 FrontPage 的 Microsoft Office XP 专业版
Microsoft Office XP 素材库
小型语言套件(切换为英文界面)Office 开发版所提供的开发环境 Office 开发版所提供的开发环境 开发项目
Exchange 工作流项目
仪表盘项目
SQL Sever 工作流项目
开发文件
HTML 页
框架集
样式表
Active Server Page
XML 文件
文本文件工作流:基本概念工作流:基本概念描述用作业务处理模型的应用程序
常用于强化业务规则
状态和事件
状态:一个项目的状态属性的离散值
事件:可对项目执行的操作
转换:一种特殊类型的事件,使项目由一种状态转换到另一种状态工作流设计器工作流设计器可以在几乎任何一种编程语言或开发环境下开发工作流应用程序
借助工作流引擎和专门的工作流建模工具可以简化工作
Office Developer 利用图形用户界面(GUI)将工作流过程表示为可自动操作、扩展和编辑的图表数字仪表盘的基本概念数字仪表盘的基本概念数字仪表盘是集中的知识管理入口。通过数字仪表盘,知识工作者可以在合理的信息负载下掌握必要的和统一的信息
从技术的角度看,数字仪表盘是一个 Active Server Page (ASP),它引用一个或多个 Web 部件
在数字仪表盘的中心是 Web 部件。加载仪表盘时,仪表盘将检索已设置要显示的 Web 部件Web 部件Web 部件Web 部件是可重复利用的部件,并且支持一系列用于确定如何在数字仪表盘中呈现 Web 部件的标准属性。Web 部件遵循常规标准,可以将它们存储在用于为本单位组合所有数字仪表盘的库中
Web 部件易于生成。用户可以创建相对简单的 Web 部件,通过使用开发环境可以创建更复杂的 Web 部件
可以从三个地方生成 Web 部件:Microsoft® Office XP Developer、仪表盘自身或用于 Microsoft® Visual InterDev® 的 Web 部件生成器加载项使用示范代码库共享代码使用示范代码库共享代码可以在集中数据库中存储和管理可重复利用的代码
包含一个大型数据库,包含预先编写的代码
示范代码库支持拖放操作以及剪切和粘贴操作null李辉
Mail: bookyard@tres.tj.cn