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

Slides:



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

防範電腦病毒 與 資訊安全案例宣導. 電腦防毒基本概念 大綱 電腦病毒的種類 電腦病毒的傳染途徑 預防電腦病毒的方法 已經中毒了該怎麼辦.
第二章 VB的编程机制 【授课时间】第3周,第2次课 【授课题目】 2.1 面向对象程序设计概述 2.2 VB中的对象
《计算机应用基础》 课程教学大纲 计划学时: 64学时 计划学分: 4学分 课程类型: 公共必修.
Web数据库技术 Web技术与数据库技术相结合 冯天宇.
第四章 控制结构.
图形设计标准教程.
Access数据库知识 安丘市职业中专 雷云龙.
Access数据库程序设计 总复习.
史料數位化之METADATA與AUTHORITY CONTROL / 陳雪華
软件工程 实验三 周志钊
客户端用Net-Library和SQL SERVER连接
操作题内容 文字录入 Windows XP操作 或 文件操作 PowerPoint2003操作 或 Excel2003操作
第4章 Office办公软件 本章主要内容: 4.1 Office办公软件概述 4.2 文字处理软件Word 4.3 表处理软件Excel
PowerPoint操作技巧培训 干部教育信息中心
VBA应用开发与实例 李 辉 微软课程培训讲师. VBA应用开发与实例 李 辉 微软课程培训讲师.
電算中心業務簡報 報 告 人:白敏賢組長 簡報日期:95年08月15日.
四 VBScript编程基础.
Ch03 VB.NET語法建立ASP.NET 網頁程式設計.
Microsoft Access 第十二組 黃彥維 陳重嘉.
BLANK overview.
第三章 字处理软件Word 2003.
Visual Basic 2010 程式設計16堂特訓 第七堂 VB的迴圈流程控制.
課程名稱:程式設計 授課老師:________
Microsoft® Office SharePoint® Server 2007 訓練
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
第10章VBA会计应用与实践 第11章会计凭证管理模块设计与实现
第 2 章 FrontPage 2002 的基本操作.
遠東科技大學資訊工程系 王善揚 可嵌入物件題庫系統 設計與開發 遠東科技大學資訊工程系 王善揚
PowerPoint簡報系統簡介 資料中心 宋惠亮.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
1 巨集 2 資料型態 3 物件、屬性、方法與事件 4 陳述式與副函式 5 其他注意事項 6 範例
ASP动态网页设计实用教程 主讲教师: 开课单位:.
第12章 VBA编程 虽然Access的交互操作功能非常强大且易于掌握,但是在实际的数据库应用系统中,用户还是希望尽量通过自动操作达到数据库管理的目的。应用程序设计语言在开发中的应用,可以加强对数据管理应用功能的扩展。Office中包含Visual Basic for Application(VBA),VBA具有与Visual.
靜宜大學專用 PowerPoint 檔案 數位教材
第01章 Excel 2007概述 Excel 2007是目前市场上功能最强大的电子表格制作软件,它和Word、PowerPoint、Access等组件一起,构成了Office 2007办公软件的完整体系。Excel不仅具有强大的数据组织、计算、分析和统计功能,还可以通过图表、图形等多种形式形象地显示处理结果,更能够方便地与Office.
Access VBA程序设计 本章重点 Access Basic编程语言 运算符、函数与表达式 Access Basic语句 模块的使用
第4章 程序控制结构与算法基础.
新觀念的 VB6 教本 第七章 讓程式轉彎的控制敘述.
第4章 基本的控制结构 4.1 顺序结构 4.2 选择结构程序设计 4.3 循环结构 4.4 综合实例 退出.
流程控制、陣列 台南市聖功女子高級中學 毛全良.
程式語言Visual Basic 重複結構 黃瀧輝 老師 Long Hwai,Huang.
第12章 VBA模块设计.
新觀念的 VB6 教本 第 6 章 資料型別.
終結瞎忙 Office 2010 打造溝通力及執行力 Rimble Kuo 郭嵩麟
PCR300 (13.56MHz) Reader RS232/USB.
Visual Basic程序设计.
应用篇 Word 2000 应用技术 作业 Office 2000 基础 字处理基础知识 文档编辑 表格的制作与编排 绘图和图形处理技术
VB程序设计语言 主讲教师:王 杨.
程式設計 Visual Basic簡介 週次:2 建國技術學院 資管系 饒瑞佶 2003年9月17日.
程式語言(I)- Visual Basic 6.0 第 8 章 模組化程式設計I-副程式與自定函數.
Excel - 九十七年度教職員工資訊教育訓練 董建弘.
文 本 信 息 加 工.
江西财经大学信息管理学院 《数据库应用》课程组2007
第三篇 Excel 2002 第六章 認識Excel 2002 第七章 深入Excel Excel 2002的功能特色
小结 郭清溥.
Ch04 VB.NET的流程控制 網頁程式設計.
现代信息技术 微电子技术 计算机技术 传感技术 通信技术 处理、存储信息的技术 传感、采集技术 传递信息的技术
第二章、第三章错题分析.
2004年以后竣工工程工程款支付情况调查系统 演 示 培 训
Excel高级功能培训 PSMT质量部 王新民
電腦應用 製作單位: 高雄市立高雄中學.
DEV342 Visual Basic 2005: 应用程序框架 和高级语言特性
第四章 控制结构 1、顺序控制结构 2、选择结构 3、循环结构.
计算机应用基础 潍坊学院 计算机工程学院 主讲人:丁素英.
ASP动态网页设计实用教程 主讲教师:贾海陶.
Microsoft Word 2003 透視合併列印 Microsoft MVP 王作桓.
程序调试与错误处理.
计算机基础与实训教材系列 《中文版Office 2003实用教程》.
游振昌 Gibson 資訊平方有限公司 執行總監 台灣微軟資深顧問
Presentation transcript:

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

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

MS Office开发平台的方向 Office高级用户 企业信息部门人员 软件开发厂商 模板开发,加载宏或构建小型项目

MS Office开发平台的好处 对企业和公司 对程序开发人员 对使用者的好处 降低培训成本,资源的回收利用 缩短研发时间,提高系统稳定性 减少摸索新系统的挫折

Office平台开发的关键 Office平台的通用语言——宏(VBA) 内置于Office应用程序,免费 完整的工作环境 宏录制器 对象浏览窗口

挑战第一关 善用宏简化工作

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

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

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

坚如磐石的安全性 宏的安全性 宏的保护方法: 安全级【高】通常适用于用户没有安装防病毒软件的时候 宏,就是一段定义好的操作,它可以是一段程序代码,它也可以是一连串的指令集合。宏的作用可以使频繁执行的动作自动化,它执行一组动作比用户一步一步执行要快得多,而且是完全按用户所设定好的要求,准确无误地执行。这样,既能节省时间,提高工作效率,又能减少失误,起到事半功倍的作用。 你可能听说过由计算机病毒引起的潜在威胁。“病毒”是一种在后台工作的隐藏宏或者软件程序,经常骚扰计算机用户,并且毁坏重要的数据文件以及应用软件。 宏的保护方法: 安全级【高】通常适用于用户没有安装防病毒软件的时候 选择安全级为【中】时,用户可以确保所使用的宏命令是安全的 安全级【低】的情况下,Office XP将不对宏作出任何检查

挑战第二关 深入浅出VBA

宏的结构 宏名 批注 宏程序 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文件以及运行应用程序所必须安装的其他所有文件 打包步骤 确定需要分发的文件 如果需要,创建应用程序组件的依赖文件 确定要将文件安装到用户计算机的什么位置 创建程序包

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

挑战第四关 善用Office XP开发版

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 部件生成器加载项

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

学习Office编程之路 语言特性 VB/VBA Office程序特性 对象模型 程序整合优化 案例研究 Excel、Word、PowerPoint、Outlook、Access 程序整合优化 案例研究

李辉 Mail: bookyard@tres.tj.cn