




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、VBA應(yīng)用開發(fā)與實(shí)例,李 輝 微軟課程培訓(xùn)講師,活動(dòng)行程表,VBA編程環(huán)境 Office對象模型 VBA編程技巧與案例 Office XP開發(fā)版簡介,MS Office開發(fā)平臺(tái)的方向,Office高級(jí)用戶 模板開發(fā),加載宏或構(gòu)建小型項(xiàng)目 企業(yè)信息部門人員 可用Office對象進(jìn)行項(xiàng)目設(shè)計(jì)開發(fā) 軟件開發(fā)廠商 構(gòu)建供Office使用的加載宏或向?qū)?MS Office開發(fā)平臺(tái)的好處,對企業(yè)和公司 降低培訓(xùn)成本,資源的回收利用 對程序開發(fā)人員 縮短研發(fā)時(shí)間,提高系統(tǒng)穩(wěn)定性 對使用者的好處 減少摸索新系統(tǒng)的挫折,Office平臺(tái)開發(fā)的關(guān)鍵,Office平臺(tái)的通用語言宏(VBA) 內(nèi)置于Office應(yīng)用程
2、序,免費(fèi) 完整的工作環(huán)境 宏錄制器 對象瀏覽窗口,挑戰(zhàn)第一關(guān),善用宏簡化工作,什么是宏,宏是一段定義好的操作,它可以是一段程序代碼,也可以是一連串的指令集合。 宏的作用可以使頻繁執(zhí)行的動(dòng)作自動(dòng)化 節(jié)省時(shí)間,提高工作效率,又能減少失誤,開始錄制宏,操作步驟,完成宏錄制,運(yùn)行宏,錄制宏 需要經(jīng)常重復(fù)執(zhí)行的某項(xiàng)任務(wù),就可以把執(zhí)行這些任務(wù)的步驟全部錄制在宏里,把宏變?yōu)榭勺詣?dòng)執(zhí)行的任務(wù),執(zhí)行宏的操作 執(zhí)行宏的命令 在工具欄上設(shè)置宏按鈕 使用窗體控件 使用圖形對象執(zhí)行宏,DEMO,VBA幫助你完成從必然王國到自由王國的飛躍,充分發(fā)揮Office XP的強(qiáng)大功能,成為Office應(yīng)用的真正高手,堅(jiān)如磐石的安
3、全性 宏的安全性,宏,就是一段定義好的操作,它可以是一段程序代碼,它也可以是一連串的指令集合。宏的作用可以使頻繁執(zhí)行的動(dòng)作自動(dòng)化,它執(zhí)行一組動(dòng)作比用戶一步一步執(zhí)行要快得多,而且是完全按用戶所設(shè)定好的要求,準(zhǔn)確無誤地執(zhí)行。這樣,既能節(jié)省時(shí)間,提高工作效率,又能減少失誤,起到事半功倍的作用。 你可能聽說過由計(jì)算機(jī)病毒引起的潛在威脅?!安《尽笔且环N在后臺(tái)工作的隱藏宏或者軟件程序,經(jīng)常騷擾計(jì)算機(jī)用戶,并且毀壞重要的數(shù)據(jù)文件以及應(yīng)用軟件。 宏的保護(hù)方法: 安全級(jí)【高】通常適用于用戶沒有安裝防病毒軟件的時(shí)候 選擇安全級(jí)為【中】時(shí),用戶可以確保所使用的宏命令是安全的 安全級(jí)【低】的情況下,Office XP
4、將不對宏作出任何檢查,挑戰(zhàn)第二關(guān),深入淺出VBA,宏的結(jié)構(gòu),Sub 主界面() 主界面 Macro Coren Lee 記錄的宏 2002-11-5 Sheets(主界面).Select End Sub,宏名,批注,宏程序,Visual Basic編輯器,用來編輯宏程序或制作更高階的整合性應(yīng)用程序 附屬于Office之下,使用較少的系統(tǒng)資源,達(dá)到編輯應(yīng)用程序的目的。,什么是工程,工程就是模塊的集合,包括: 用戶窗體 文件,例如Excel中的工作表以及圖表工作表 模塊 類模塊 ActiveX文件 引用的其他工程,為何要使用 VBA 宏缺少伸縮的彈性 記錄了許多不需要的步驟 記錄了許多不需要的資料
5、 無法使用較深入的功能 無法完成重復(fù)性的工作 無法完成需要條件判斷的工作,宏,VBA,Visual Basic for Application,認(rèn)識(shí)VBA,VBA是一個(gè)通用程序語言,可共享Microsoft各種相關(guān)的重要軟件。 以VBA編寫的程序允許用戶將其復(fù)制到Visual Basic中加以調(diào)試,用Visual Basic宏來控制Excel。 當(dāng)記錄宏不能滿足用戶需要或用記錄宏無法記錄命令時(shí),可以用VBA語言創(chuàng)造宏來控制工作簿的各項(xiàng)操作。 創(chuàng)建用戶對話框、工具按鈕或自定義命令,把Excel提供的多個(gè)工具按鈕連接起來,作為一個(gè)工具按鈕。 利用重復(fù)語句控制循環(huán)宏內(nèi)操作,利用不同參數(shù)執(zhí)行某個(gè)相關(guān)功
6、能模塊,使宏指令完成一系列復(fù)雜操作。來連接多個(gè)宏。 VBA提供了許多內(nèi)部函數(shù),還允許用戶自定義函數(shù)來簡化對工作簿、工作表、圖表等復(fù)雜操作。,VBA程序的基本架構(gòu),對象 面向?qū)ο蟮拈_發(fā)方式 VBA是以操作Office對象為目的的程序語言 屬性 對象所屬的特性或特征 方法 控制對象的內(nèi)建動(dòng)作或功能,以便可以讓程序順利打開 事件 發(fā)生于對象上的事情,VBA與Visual Basic的差異,Visual Basic以界面為中心的開發(fā)方式 重點(diǎn)在使用者如何進(jìn)行操作 VBA以文件為中心的開發(fā)方式 重點(diǎn)在使用者最后看到什么,Excel對象結(jié)構(gòu),使用對象的程序語法,Workbooks(“Mybook.xls”
7、).Worksheets(“Sheet1”).Range(“B5”).Value = “ABCDE”,屬性,Workbooks.Close,集合對象,Office 對象模型,頂級(jí)對象:Application 層次式對象模型結(jié)構(gòu) 查看結(jié)構(gòu)模型圖(幫助) 對象瀏覽器 自動(dòng)列出成員功能 對象屬性 對象方法 事件:文檔級(jí)和應(yīng)用級(jí),VBA的重要語法,Set Object1 = Object Object.Property = Value Object.Method (Setting),VBA程序開發(fā)的步驟,設(shè)定引用的參數(shù)項(xiàng)目 定義對象變量 設(shè)置對象變量 完成對象的接口 對象屬性 操作方法 事件程序,VB
8、A控制結(jié)構(gòu),分支結(jié)構(gòu),If 條件1 Then 語句塊1 ElseIf 條件2 Then 語句塊2 Else 語句塊n+1 End If,Select Case 測試變量 Case 表達(dá)式1 語句塊1 Case 表達(dá)式2 語句塊2 Case Else 語句塊n+1 End Select,VBA控制結(jié)構(gòu),循環(huán)結(jié)構(gòu),For 變量=初值 To 終值 Step 步長 語句塊 Next 變量,For Each 對象變量 In 對象集 語句塊Next 對象變量,Do While 條件表達(dá)式 語句塊 Loop,示例:在Excel中打印工資表,Sub InsertTitle() Selection.Curren
9、tRegion.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
10、(2, 0).Range(A1).Select Loop Application.CutCopyMode = False End Sub,示例:對話框與外部應(yīng)用程序,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 turtle_Click() Const Answer = TURTLE Dim Tries As Integer Dim
11、 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, Titl
12、e, Default0) MyValue = UCase(MyValue) Convert to uppercase ,示例:保存并關(guān)閉系統(tǒng),Private Sub Workbook_BeforeClose(Cancel As Boolean) On Error Resume Next Dim abc abc = MsgBox(您確認(rèn)要關(guān)閉本系統(tǒng)嗎?, vbQuestion + vbYesNo + vbDefaultButton2, 確認(rèn)) If abc = vbYes Then Worksheets(股票收益計(jì)算器).Unprotect Password:=1 Worksheets(股票收益
13、計(jì)算器).Range(G13).FormulaR1C1 = 0 Worksheets(股票收益計(jì)算器).Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:=1 Sheets(說明).Select ActiveWorkbook.Save Else Cancel = True End If End Sub,程序編寫的特殊考慮,如何啟動(dòng)特定版本的應(yīng)用程序 CreateObject 如何使用當(dāng)前的應(yīng)用程序 GetObject 如何結(jié)束應(yīng)用程序 Application.Quit 如何清除內(nèi)存的占用 Set ap
14、pObject = Nothing,挑戰(zhàn)第三關(guān),優(yōu)化與部署,創(chuàng)建用戶窗體,提示使用者選取、輸入或?yàn)g覽數(shù)據(jù) 使用控件 文本框輸入文字 列表框選取內(nèi)容 選擇框選取一個(gè)或多個(gè)功能,用戶窗體窗口的操作,建立用戶窗體 配置ActiveX控件 設(shè)置窗口屬性 配置控件屬性及其事件 Load與UnLoad語句 加載到內(nèi)存或從內(nèi)存中釋放 用Show和Hide方法控制對象的顯示和隱藏,DEMO,VBA幫助你完成從必然王國到自由王國的飛躍,充分發(fā)揮Office XP的強(qiáng)大功能,成為Office應(yīng)用的真正高手,使用Excel創(chuàng)建進(jìn)銷存管理系統(tǒng) 在Word中完成員工信息的錄入和查詢 妙用窗體制作小游戲,封裝應(yīng)用程序,菜
15、單欄的替換 窗口環(huán)境的替換 工具欄的替換 完成應(yīng)用程序封裝,保護(hù)應(yīng)用程序開發(fā),加入程序修改口令 使用數(shù)字簽名 Office XP技術(shù)允許通過使用“數(shù)字證書”對文件或宏進(jìn)行數(shù)字簽名。你可以把數(shù)字證書看作是身份證的電子版本。 使用“數(shù)字簽名”以后有什么效果呢?如果整個(gè)文件都被簽名,任何人(包括你自己)將它修改的話,文件的簽名都會(huì)被破壞。也就是說,簽名將保證自簽名以后后該文件沒有被修改。,打包向?qū)?打包操作可創(chuàng)建一個(gè)程序包,將應(yīng)用程序安裝到用戶計(jì)算機(jī)。 程序包包含一個(gè)或多個(gè).cab文件以及運(yùn)行應(yīng)用程序所必須安裝的其他所有文件 打包步驟 確定需要分發(fā)的文件 如果需要,創(chuàng)建應(yīng)用程序組件的依賴文件 確定要
16、將文件安裝到用戶計(jì)算機(jī)的什么位置 創(chuàng)建程序包,DEMO,VBA幫助你完成從必然王國到自由王國的飛躍,充分發(fā)揮Office XP的強(qiáng)大功能,成為Office應(yīng)用的真正高手,挑戰(zhàn)第四關(guān),善用Office XP開發(fā)版,Office XP產(chǎn)品系列,Microsoft Office 開發(fā)平臺(tái)的特點(diǎn),降低開發(fā)和部署的總成本 可利用 Office 部署工具 利用流行和熟悉的技術(shù) 開發(fā)量極小 減少使用者的培訓(xùn)負(fù)擔(dān)和支持費(fèi)用 培訓(xùn)不再必不可少 提高了對需求的及時(shí)反應(yīng)能力和解決方案的靈活性 起點(diǎn)高,開發(fā)周期短,MS Office 的開發(fā)原則,MS Office 是一個(gè)功能齊全的應(yīng)用系統(tǒng) MS Office 是一個(gè)
17、靈活方便的開發(fā)平臺(tái) Office 開發(fā)的原則 能不開發(fā)就不開發(fā) 很多功能 Office 原已提供 對 Office 了解越多,開發(fā)者的效率越高 Office 開發(fā)者:全球 260 萬 Office 開發(fā)版Office 完備開發(fā)工具,Office 開發(fā)工具的發(fā)展概況,Office 從一開始就是一個(gè)開放的系統(tǒng) Office 97 以前 WordBASIC Access Basic VBA in Excel Office 97: Visual Basic for Applications 5.0 (Outlook 支持 VBScript) Office 2000: Visual Basic for
18、Applications 6.0 和 Script Office XP,Microsoft Office XP 開發(fā)版,Office XP 中文開發(fā)版:面向 Office 開發(fā)人員的開發(fā)工具和示例 Windows 組件更新 Visual SourceSafe:源代碼控制軟件 Microsoft Exchange 2000 Server Developer Edition Microsoft SQL Server 2000 個(gè)人版的開發(fā)和測試版 帶有 FrontPage 的 Microsoft Office XP 專業(yè)版 Microsoft Office XP 素材庫 小型語言套件(切換為英文界面),Office 開發(fā)版所提供的開發(fā)環(huán)境,開發(fā)項(xiàng)目 Exchange 工作流項(xiàng)目 儀表盤項(xiàng)目 SQL Sever 工作流項(xiàng)目 開發(fā)文件 HTML 頁 框架集 樣式表 Active Server Page XML 文件 文本文件,工作流:基本概念,描述用作業(yè)務(wù)處理模型的應(yīng)用程序 常用于強(qiáng)化業(yè)務(wù)規(guī)則 狀態(tài)和事件 狀態(tài):一個(gè)項(xiàng)目的狀態(tài)屬性的離散值 事件:可對項(xiàng)目執(zhí)行的操作 轉(zhuǎn)換:一種特殊類型的事件,使項(xiàng)目由一種狀態(tài)轉(zhuǎn)換到另一種狀態(tài),工作流設(shè)計(jì)器,可以在幾乎任何一種編程語言或開發(fā)環(huán)境下開發(fā)工作流應(yīng)用程序 借助工作流引擎和專門的工作流建模工具可以簡化工作 Office Develop
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年一年級(jí)下學(xué)期數(shù)學(xué)第七單元《三個(gè)兩位數(shù)連加》(教案)
- 2025年會(huì)計(jì)勞務(wù)合同模板
- 2025年專利轉(zhuǎn)讓合同水產(chǎn)養(yǎng)殖產(chǎn)品適用
- 人教版三年級(jí)下冊第一單元-位置和方向(一)-(單元測試)含答案
- 人教版三年級(jí)英語上冊期末測試卷
- 2-除數(shù)是一位數(shù)的除法-人教版三年級(jí)數(shù)學(xué)下冊單元測試卷(含答案)
- 2025年湖南石油化工職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫帶答案
- 2024年碳纖維熱場材料項(xiàng)目投資申請報(bào)告代可行性研究報(bào)告
- 2024年亞葉酸鈣項(xiàng)目資金需求報(bào)告代可行性研究報(bào)告
- 2025年廣東省惠州市單招職業(yè)傾向性測試題庫完整
- 2015-2022年江西電力職業(yè)技術(shù)學(xué)院高職單招語文/數(shù)學(xué)/英語筆試參考題庫含答案解析
- 1 聚聚散散 教案人教版美術(shù)四年級(jí)下冊
- 綜合實(shí)踐活動(dòng)勞動(dòng)與技術(shù)八年級(jí)下冊教案
- GB/T 36196-2018蛋鴿飼養(yǎng)管理技術(shù)規(guī)程
- GB/T 21653-2008鎳及鎳合金線和拉制線坯
- GB/T 15970.2-2000金屬和合金的腐蝕應(yīng)力腐蝕試驗(yàn)第2部分:彎梁試樣的制備和應(yīng)用
- 入職的通知書
- doors培訓(xùn)材料-工具入門
- 中國古典文獻(xiàn)學(xué) 第四章課件
- 諾如病毒-感染性腹瀉預(yù)防控制知識(shí)課件
- 旅游經(jīng)濟(jì)學(xué)全套課件
評(píng)論
0/150
提交評(píng)論