VBA应用开发与实例 李 辉 微软课程培训讲师. VBA应用开发与实例 李 辉 微软课程培训讲师.

Slides:



Advertisements
Similar presentations
1 乌海职业技术学院机电工程系 王若东 副教授 乌海职业技术学院机电工程系 王若东 副教授 2007 年秋季乌海学院计算机类课程 (课程整体设计介绍)
Advertisements

《计算机应用基础》 课程教学大纲 计划学时: 64学时 计划学分: 4学分 课程类型: 公共必修.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
图形设计标准教程.
Access数据库知识 安丘市职业中专 雷云龙.
Access数据库程序设计 总复习.
Excel VBA视频教程 课程介绍-什么是VBA
客户端用Net-Library和SQL SERVER连接
操作题内容 文字录入 Windows XP操作 或 文件操作 PowerPoint2003操作 或 Excel2003操作
基于解释性语言的手机跨平台架构 Sloan Yi. Qt MTK.
四 VBScript编程基础.
VBA应用开发与实例 李 辉 微软课程培训讲师. VBA应用开发与实例 李 辉 微软课程培训讲师.
BLANK overview.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
第10章VBA会计应用与实践 第11章会计凭证管理模块设计与实现
第 2 章 FrontPage 2002 的基本操作.
SVN的基本概念 柳峰
1 巨集 2 資料型態 3 物件、屬性、方法與事件 4 陳述式與副函式 5 其他注意事項 6 範例
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
ASP动态网页设计实用教程 主讲教师: 开课单位:.
第12章 VBA编程 虽然Access的交互操作功能非常强大且易于掌握,但是在实际的数据库应用系统中,用户还是希望尽量通过自动操作达到数据库管理的目的。应用程序设计语言在开发中的应用,可以加强对数据管理应用功能的扩展。Office中包含Visual Basic for Application(VBA),VBA具有与Visual.
第01章 Excel 2007概述 Excel 2007是目前市场上功能最强大的电子表格制作软件,它和Word、PowerPoint、Access等组件一起,构成了Office 2007办公软件的完整体系。Excel不仅具有强大的数据组织、计算、分析和统计功能,还可以通过图表、图形等多种形式形象地显示处理结果,更能够方便地与Office.
Access VBA程序设计 本章重点 Access Basic编程语言 运算符、函数与表达式 Access Basic语句 模块的使用
SVN服务器的搭建(Windows) 柳峰
第4章 程序控制结构与算法基础.
新觀念的 VB6 教本 第七章 讓程式轉彎的控制敘述.
程式語言Visual Basic 重複結構 黃瀧輝 老師 Long Hwai,Huang.
走进编程 程序的顺序结构(二).
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
Visual Studio Team System 简介
第12章 VBA模块设计.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Visual Basic程序设计.
应用篇 Word 2000 应用技术 作业 Office 2000 基础 字处理基础知识 文档编辑 表格的制作与编排 绘图和图形处理技术
数据挖掘工具性能比较.
PaPaPa项目架构 By:Listen 我在这.
Windows 7 的系统设置.
程式語言(I)- Visual Basic 6.0 第 8 章 模組化程式設計I-副程式與自定函數.
三:基于Eclipse的集成开发环境搭建与使用
Excel - 九十七年度教職員工資訊教育訓練 董建弘.
文 本 信 息 加 工.
程序设计工具实习 Software Program Tool
江西财经大学信息管理学院 《数据库应用》课程组2007
C语言程序设计 主讲教师:陆幼利.
小结 郭清溥.
计算机及办公软件应用 ©2013 苏州工业园区职业技术学院
第二章、第三章错题分析.
VB与Access数据库的连接.
2004年以后竣工工程工程款支付情况调查系统 演 示 培 训
姚金宇 MIT SCHEME 使用说明 姚金宇
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
Excel高级功能培训 PSMT质量部 王新民
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
第4章 Excel电子表格制作软件 4.4 函数(一).
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
iSIGHT 基本培训 使用 Excel的栅栏问题
LOGIX500软件入门 西安华光信息技术有限公司 2008年7月11日.
计算机应用基础 潍坊学院 计算机工程学院 主讲人:丁素英.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
Visual Basic程序设计 第13章 访问数据库
VRP教程 2011.
Delphi 7.0开发示例.
临界区问题的硬件指令解决方案 (Synchronization Hardware)
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Python 环境搭建 基于Anaconda和VSCode.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
使用ADO访问数据库 李宝智 BonizLee 课程 10564A
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
Presentation transcript:

VBA应用开发与实例 李 辉 微软课程培训讲师

活动行程表 VBA编程环境 Office对象模型 VBA编程技巧与案例 Office XP开发版简介

什么是宏 宏是一段定义好的操作,它可以是一段程序代码,也可以是一连串的指令集合。 宏的作用可以使频繁执行的动作自动化 节省时间,提高工作效率,又能减少失误

录制宏 执行宏的操作 开始录制宏 操作步骤 完成宏录制 运行宏 需要经常重复执行的某项任务,就可以把执行这些任务的步骤全部录制在宏里,把宏变为可自动执行的任务 开始录制宏 操作步骤 完成宏录制 执行宏的操作 执行宏的命令 在工具栏上设置宏按钮 使用窗体控件 使用图形对象执行宏 运行宏

VBA帮助你完成从必然王国到自由王国的飞跃 DEMO 充分发挥Office XP的强大功能,成为Office应用的真正高手

宏的结构 宏名 批注 宏程序 Sub 主界面() ' ' 主界面 Macro ' Coren Lee 记录的宏 2002-11-5 Sheets("主界面").Select End Sub 批注 宏程序

Visual Basic编辑器 用来编辑宏程序或制作更高阶的整合性应用程序 附属于Office之下,使用较少的系统资源,达到编辑应用程序的目的。

什么是工程 工程就是模块的集合,包括: 用户窗体 文件,例如Excel中的工作表以及图表工作表 模块 类模块 ActiveX文件 引用的其他工程

Visual Basic for Application 宏 VBA 为何要使用 VBA 宏缺少伸缩的弹性 记录了许多不需要的步骤 记录了许多不需要的资料 无法使用较深入的功能 无法完成重复性的工作 无法完成需要条件判断的工作

认识VBA VBA是一个通用程序语言,可共享Microsoft各种相关的重要软件。 以VBA编写的程序允许用户将其复制到Visual Basic中加以调试,用Visual Basic宏来控制Excel。 当记录宏不能满足用户需要或用记录宏无法记录命令时,可以用VBA语言创造宏来控制工作簿的各项操作。 创建用户对话框、工具按钮或自定义命令,把Excel提供的多个工具按钮连接起来,作为一个工具按钮。 利用重复语句控制循环宏内操作,利用不同参数执行某个相关功能模块,使宏指令完成一系列复杂操作。来连接多个宏。 VBA提供了许多内部函数,还允许用户自定义函数来简化对工作簿、工作表、图表等复杂操作。

VBA程序的基本架构 对象 属性 方法 事件 面向对象的开发方式 VBA是以操作Office对象为目的的程序语言 对象所属的特性或特征 控制对象的内建动作或功能,以便可以让程序顺利打开 事件 发生于对象上的事情

VBA与Visual Basic的差异 Visual Basic以界面为中心的开发方式 重点在使用者如何进行操作 重点在使用者最后看到什么

Excel对象结构 Application Workbooks Windows Addins …… Worksheets Charts Cells Range

使用对象的程序语法 Workbooks(“Mybook.xls”).Worksheets(“Sheet1”).Range(“B5”).Value = “ABCDE” 容器 容器 属性 Workbooks.Close 集合对象

Office 对象模型 顶级对象:Application 层次式对象模型结构 查看结构模型图(帮助) 对象浏览器 自动列出成员功能 对象属性 对象方法 事件:文档级和应用级

VBA的重要语法 Set Object1 = Object Object.Property = Value Object.Method (Setting)

VBA程序开发的步骤 设定引用的参数项目 定义对象变量 设置对象变量 完成对象的接口 对象属性 操作方法 事件程序

VBA控制结构 分支结构 Select Case 〈测试变量〉 If 〈条件1〉 Then Case 〈表达式1〉 〈语句块1〉 〈语句块2〉 · Case Else 〈语句块n+1〉 End Select If 〈条件1〉 Then 〈语句块1〉 ElseIf 〈条件2〉 Then 〈语句块2〉 · Else 〈语句块n+1〉 End If

VBA控制结构 循环结构 For 〈变量〉=〈初值〉 To 〈终值〉 Step 〈步长〉 〈语句块〉 Next 〈变量〉 For Each 〈对象变量〉 In 〈对象集〉     〈语句块〉 Next 〈对象变量〉 Do While 〈条件表达式〉 〈语句块〉 Loop

示例:在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 Loop Application.CutCopyMode = False End Sub

示例:对话框与外部应用程序 Private Sub turtle_Click() Private Sub donkey_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***" MyValue = InputBox(Message, Title, Default0) MyValue = UCase(MyValue) 'Convert to uppercase …… Private Sub donkey_Click() MsgBox (" I am a donkey ") End Sub Private Sub Wabbit_Click() Call PlaySound(ActiveDocument.Path + "\wabbit.wav") End Sub

示例:保存并关闭系统 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方法控制对象的显示和隐藏

DEMO VBA帮助你完成从必然王国到自由王国的飞跃 使用Excel创建进销存管理系统 在Word中完成员工信息的录入和查询 妙用窗体制作小游戏 充分发挥Office XP的强大功能,成为Office应用的真正高手

封装应用程序 菜单栏的替换 窗口环境的替换 工具栏的替换 完成应用程序封装

保护应用程序开发 加入程序修改口令 使用数字签名 Office XP技术允许通过使用“数字证书”对文件或宏进行数字签名。你可以把数字证书看作是身份证的电子版本。 使用“数字签名”以后有什么效果呢?如果整个文件都被签名,任何人(包括你自己)将它修改的话,文件的签名都会被破坏。也就是说,签名将保证自签名以后后该文件没有被修改。

打包向导 打包操作可创建一个程序包,将应用程序安装到用户计算机。 程序包包含一个或多个.cab文件以及运行应用程序所必须安装的其他所有文件 打包步骤 确定需要分发的文件 如果需要,创建应用程序组件的依赖文件 确定要将文件安装到用户计算机的什么位置 创建程序包

Office XP产品系列 Office XP 标准版 专业版 企业版 开发版 Word ` Excel Outlook PowerPoint Access FrontPage (SharePoint) 开发工具 小型语言套件(英文界面) 素材库 建议市场零售价 普通版全包装产品 ¥3940 ¥4720 -- ¥6310 普通版许可证 ¥2925 ¥3528 ¥4405 ¥4926 升级版全包装产品 ¥1970 ¥2750 ¥4340 升级版许可证 ¥1408 ¥2102 ¥2605 ¥3510 New Office XP Suites… We have a new addition to Office suites: Microsoft Office Professional Special Edition. This version will only be available for a limited time only. Includes Microsoft FrontPage and Microsoft Publisher Version 2002, as well as a limited edition Microsoft IntelliMouse Explorer. At a great price you’ll get all the newest versions of the most popular Office family programs in one offer!

Microsoft Office 开发平台的特点 降低开发和部署的总成本 可利用 Office 部署工具 利用流行和熟悉的技术 开发量极小 减少使用者的培训负担和支持费用 培训不再必不可少 提高了对需求的及时反应能力和解决方案的灵活性 起点高,开发周期短

MS Office 的开发原则 MS Office 是一个功能齐全的应用系统 MS Office 是一个灵活方便的开发平台 能不开发就不开发 很多功能 Office 原已提供 对 Office 了解越多,开发者的效率越高 Office 开发者:全球 260 万 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 开发版 Office XP 中文开发版:面向 Office 开发人员的开发工具和示例 Windows 组件更新 Visual SourceSafe:源代码控制软件 Microsoft Exchange 2000 Server Developer Edition Microsoft SQL Server 2000 个人版的开发和测试版 带有 FrontPage 的 Microsoft Office XP 专业版 Microsoft Office XP 素材库 小型语言套件(切换为英文界面)

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 部件:Microsoft® Office XP Developer、仪表盘自身或用于 Microsoft® Visual InterDev® 的 Web 部件生成器加载项

使用示范代码库共享代码 可以在集中数据库中存储和管理可重复利用的代码 包含一个大型数据库,包含预先编写的代码 示范代码库支持拖放操作以及剪切和粘贴操作

李辉 Mail: bookyard@tres.tj.cn