評論(0

ExcelVBA程序開發自學寶典

標籤: 暫無標籤

ExcelVBA程序開發自學寶典從一個專業程序(VBA插件)的應用開始,逐步分析VBA程序的優勢,以及VBA的歷史、概念、編輯器、語法規則、數組、函數、文件目錄與磁碟管理等VBA語言的基礎。通過60%的篇幅講述VBA的理論與語法基礎,其中穿插了程序編寫常規則及代碼優化之道,讓讀者在編寫代碼解決日常工作的基礎上,懂得如何提升代碼的執行效率與通用性。

1 ExcelVBA程序開發自學寶典 -內 容 簡 介

  本書從一個專業程序(VBA插件)的應用開始,逐步分析VBA程序的優勢,以及VBA的歷史、概念、編輯器、語法規則、數組、函數、文件目錄與磁碟管理等VBA語言的基礎。然後講述三類程序的開發思路與語法,包括VBE專用程序、VB編寫的DLL插件,以及工作簿中通用的載入宏程序。最後通過大型的Excel百寶箱插件的設計來實踐程序開發理論,讓讀者對程序開發有進一步地認識,並實踐本書所闡述的程序開發思想。

  本書通過60%的篇幅講述VBA的理論與語法基礎,其中穿插了程序編寫常規則及代碼優化之道,讓讀者在編寫代碼解決日常工作的基礎上,懂得如何提升代碼的執行效率與通用性。另外還涉及了大量的自定義函數,以及腳本語言、FileSystemObject、DOS語言在VBA中的應用等。最後利用40%的篇幅講述專業程序的理論基礎與開發思想,以及通過多個大型的插件程序設計過程演示如何開發專業程序,以及對插件程序應如何防錯及提速。

  本書除講解VBA的理論以外,重點探討如何開發一個完整的大中型插件程序,在程序開發中應如何防止錯誤、提升效率,以及確保程序的通用性。書中的所有程序都有完善的防錯機制,並通用於Excel 2003和Excel 2007。

2 ExcelVBA程序開發自學寶典 -前 言

  Excel是一款極優秀的表格設計與數據分析軟體。特別是它所集成的VBA語言可以對Excel程序進行二次開發,大大拓展了Excel的功能,使Excel不再局限於設計表格,而具有了程序改造、插件開發與多任務批處理的功能。

本書目的

  Excel VBA是一門強化、改造Excel的程序語言。利用VBA通常可以完成兩大類任務:解決自己的工作問題(強化)和開發通用軟體(改造)。而市場上大量的VBA書籍大都屬於前者,側重講述VBA基本語法及如何利用VBA處理一個具體的工作中的疑難問題,而對於開發通用型插件來延伸Excel的通用功能這方面則少有涉及。本書旨在彌補這種不足,在VBA理論的基礎之外重點闡述如何開發插件,以適應一個群體的需求,而非僅僅處理個人的臨時性問題。

  本書除60%的篇幅普及VBA相關的理論知識外,還對如何提升程序的通用性、防錯、提速等方面進行反覆的闡述與論證,通過大量的實例傳授程序的優化之道,及如何讓程序在新舊版本的Excel中都能準確無誤地執行。

  另外,對於與VBA相關的其他邊緣性知識體系也做了系統的介紹,例如腳本語言WScript、文件管理系統FileSystemObject、DOS磁碟管理系統與API函數在VBA中的應用。通過本書,讀者可以對VBA有相當完善的認識與理解,並建立自己的程序開發思想,具備開發大中型專業程序的能力。

本書結構

  《Excel VBA程序開發自學寶典》是一本講述VBA語言理論基礎及開發VBA程序的書,全書共32章,分以下五個部分:

  入門篇:VBA優勢、功能與概念

  進階篇:VBA語法、過程與事件

  登堂篇:VBA數組、窗體與控制項

  入室篇:文件管理、菜單、API、VBE與載入項

  攀峰篇:開發通用插件

本書特點

  相對於同類書籍,本書在內容編排上具有以下特點:

  1. 除對VBA語言的基礎語法與對象操作解說外,重點展示如何開發一個獨立完善的插件。而非僅僅局限在通過VBA解決一個臨時性工作問題,通過本書,你完全可以實現編寫自己的商業性軟體,也可以開發一個完善的管理系統。

  2. 本書程序非常注重通用性,所有程序代碼都通用於Excel 2003和Excel 2007。不管用戶使用的Excel 2003還是Excel 2007,都可以正常執行書中所有代碼。

  3. 本書對代碼的執行速度有較多的筆墨敘述,而且總結了13條代碼優化的規則。

  4. 本書除VBA基本語法的教學外,另一個重點是如何開發插件。相對於普通的宏過程,開發插件的難度更高,通用性、防錯性等要求都更嚴謹。本書通過對大型插件的程序思想、思路以及步驟進行詳述,從而促使讀者對VBA程序語言的理論有更深入的認識與運用。

  5. 詳述利用vb 6.0企業版開發具有更高安全性的COM載入項,讀者可以藉此開發自己的商業軟體。

  6. 除VBA外,本書還包括了WScript、FileSystemObject、DOS、API等語言的應用,將這些語言配合VBA可以擴充VBA的功能,完成更多的工作需求。

光碟文件

  本書的隨書光碟包括書中所有實例文件的代碼,以及作者精心開發的大型插件「Excel百寶箱7.0」源代碼。

  本書以Excel 2007的界面進行敘述,但隨書光碟中的案例區分Excel 2003和Excel 2007兩個版本。不管是Excel 2003用戶還是Excel 2007用戶都可以正常打開文件,完全不會因版本不同而給學習帶來障礙,也不需要安裝轉換軟體。

  另外,本書還配備視頻教材,包括開發提示性輸入工具箱、開發公農曆日期輸入器、工作簿拆分及彩蛋設計、開發通用二級選單插件、監控單元格歷史記錄、設計計劃任務嚮導、用VB開發自動化載入項等7集,同時配備了7集教材中所用到的代碼。將視頻教材與Excel文件搭配會有更好的學習效果。

適合讀者群

  本書對VBA的基礎理論有比較詳盡的介紹,而對VBA的高級知識——數組、類模塊、API、VBE組件操作與插件設計也有大量的理論闡述與案例演示。

  本書適應的人群包括三類:

  一是VBA入門者,可以通過本書系統地學習VBA知識;

  二是已有VBA基礎,但需要擴充知識面,讓自己的程序具有更好的通用性、糾錯性及更高的執行效率者,本書對程序的優化、糾錯等方面進行了大量的論證;

  三是VBA程序愛好者,可以編寫過程來解決自己工作中的問題,但想開發更專業的商業軟體者。本書對開發開源的商業軟體進行了介紹,包括自動化載入項和COM載入項。

本書作者

  本書主要由作者羅剛君編寫,作者是多個大型論壇的版主,有著豐富的VBA程序設計經驗。Excel百寶箱是其標誌性作品,包括100個增強性Excel插件工具。讀者可以從光碟中獲取該工具。

  作者專門創辦了一個售後服務論壇,讀者對本書有任何疑問或者建議,都可以登錄以下網址參與交流。

  另外參與本書寫作的還有龔丹、李妍妍、張理功、劉星辰、張文麗、鄭亞梅、周禮英、劉小琴、楊斌、楊陽、黎玲、陳小春、張宏展、章蘭新、吳旭東等,在此一併表示感謝。

  編著者

  2009-7-21

3 ExcelVBA程序開發自學寶典 -目 錄

第 01章 從Excel插件認識VBA

  1.1 從身份證號獲取個人信息 1

  1.1.1 內置公式法 1

  1.1.2 自定義函數法 2

  1.1.3 插件法 2

  1.1.4 淺談VBA優勢 3

  1.2 插件特點及如何發揮插件的優勢 4

  1.2.1 Excel插件的特點 4

  1.2.2 Excel插件的優勢與限制 6

  1.2.3 如何發揮插件的優勢 6

  1.2.4 開發Excel插件的條件 6

  1.2.5 本書架構 7

第 02章 VBA概述

  2.1 VBA的發展史與優缺點 8

  2.1.1 宏與VBA 8

  2.1.2 VBA歷史與版本 9

  2.1.3 VBA優、缺點 9

  2.2 VBA能做什麼 10

  2.2.1 VBA用途 10

  2.2.2 VBA主要用戶 11

  2.3 VBA的安全性 12

  2.3.1 VBA安全性 12

  2.3.2 了解安全性對話框 12

  2.3.3 讓自己的VBA程序暢通無阻 14

  2.4 使用VBA幫助 16

  2.4.1 利用幫助學習VBA語法 16

  2.4.2 捕捉錯誤 17

第 03章 巧設VBA編輯器提升編程效率

  3.1 認識VBE組件 21

  3.1.1 訪問VBA開發環境 21

  3.1.2 認識VBE的組件 22

  3.1.3 VBE中不同代碼窗口的作用 27

  3.2 VBE中選項設置 29

  3.2.1 編輯器選項 29

  3.2.2 編輯器格式選項 33

  3.2.3 通用選項 33

  3.2.4 VBA代碼保護 34

第 04章 VBA基本概念

  4.1 理解VBA的對象、屬性與方法 36

  4.1.1 什麼是對象 36

  4.1.2 如何理解屬性 37

  4.1.3 如何理解方法 38

  4.1.4 判斷對象的屬性與方法 38

  4.2 認識VBA的事件 39

  4.2.1 什麼是事件 39

  4.2.2 事件的分類及其用途 39

  4.3 VBA的運算符 40

  4.3.1 VBA中運算符的分類 40

  4.3.2 算術運算符 40

  4.3.3 比較運算符 41

  4.3.4 邏輯運算符 41

  4.3.5 運算符的優先順序 43

  4.4 簡單的字元處理函數 43

  4.4.1 字元串處理函數功能介紹 44

  4.4.2 StrComp:字元相似比較 44

  4.4.3 StrConv:字元串類型轉換 45

  4.4.4 Format:格式化字元串 46

  4.4.5 lcase/ UCase:大小寫轉換 46

  4.4.6 String / Space:重複字元 46

  4.4.7 Lset / RSet:字元串往左/右對齊 47

  4.4.8 instr:返回字元出現位置 47

  4.4.9 Left/Mid/Right:從左、中、右取值 48

  4.4.10 ltrim/RTrim/ Trim:去除空格 48

  4.4.11 Like:字元串相似度比較 49

第 05章 VBA數據類型與變數、常量

  5.1 數據類型 50

  5.1.1 為什麼要區分數據類型 50

  5.1.2 認識VBA的數據類型 50

  5.1.3 數據類型的聲明與轉換 52

  5.2 常量與變數 54

  5.2.1 常量的定義與用途 54

  5.2.2 常量的聲明方式 54

  5.2.3 常量的命名規則 55

  5.2.4 變數的定義與用途 56

  5.2.5 變數的類型與聲明 56

  5.2.6 區分靜態變數與動態變數 57

  5.2.7 變數的作用域與生命周期 58

  5.2.8 認識對象變數 60

  5.2.9 認識數組變數 61

第 06章 認識VBA過程及開發自定義函數

  6.1 認識過程 62

  6.1.1 過程的分類與調用方式 62

  6.1.2 插入過程的方式 64

  6.1.3 過程的命名規則 66

  6.2 編寫Sub過程 66

  6.2.1 Sub過程的語法解析 66

  6.2.2 Sub過程的執行流程 68

  6.2.3 過程的遞歸 72

  6.2.4 Sub過程實例演示 73

  6.3 認識Function過程 74

  6.3.1 Function過程的特點 74

  6.3.2 Function的語法解析 74

  6.3.3 調用Function過程 75

  6.4 關於過程的參數 76

  6.4.1 Sub過程的參數及應用 76

  6.4.2 Function過程的參數 78

  6.5 開發自定義函數 79

  6.5.1 開發不帶參數的Function過程 79

  6.5.2 開發帶有一個參數的Function過程 80

  6.5.3 開發帶有兩個參數的Function過程 83

  6.5.4 開發帶有兩個可選參數的Function過程 84

  6.5.5 開發帶有不確定參數的Function過程 86

  6.5.6 開發具有三個參數其中第三個為可選的Function過程 89

  6.6 編寫函數幫助 91

  6.7 總結 96

第 07章 VBA的對象模型與對象表示法

  7.1 VBA中的對象及結構 97

  7.1.1 關於對象的相關概念 97

  7.1.2 對象與對象集合 98

  7.1.3 對象的層次:父對象與子對象 99

  7.1.4 認識Excel所有對象 100

  7.2 對象的表示法 101

  7.2.1 對象的完整指定方式與簡寫 101

  7.2.2 利用定義名稱獲取對象 101

  7.2.3 利用集合索引號獲取對象 102

  7.2.4 活動對象的簡化引用 103

  7.2.5 利用With語句簡化對象引用 104

  7.2.6 事件中的Me關鍵字 104

  7.3 單元格的各種引用方式 106

  7.3.1 Range("A1")方式引用單元格 106

  7.3.2 Cells(1,1)方式引用單元格 109

  7.3.3 [a1]方式引用單元格 110

  7.3.4 Range("A1")、Cells(1,1)與[a1]比較 111

  7.3.5 Selection與ActiveCell:當前選區與活動單元格 112

  7.3.6 Names:利用名稱引用單元格或區域 113

  7.3.7 UsedRange與CurrentRegion 115

  7.3.8 SpecialCells:按條件引用區域 118

  7.3.9 CurrentArray:引用數組區域 120

  7.3.10 Resize:重置區域大小 120

  7.3.11 Offset:根據偏移量引用區域 122

  7.3.12 Union:單元格的合集 124

  7.3.13 Intersect:單元格、區域的交集 126

  7.3.14 End:引用源區域的區域尾端的單元格 128

第 08章 自動宏與Excel事件

  8.1 讓宏自動執行 132

  8.1.1 Auto自動宏 132

  8.1.2 工作簿事件中的自動宏 133

  8.1.3 利用滑鼠移動事件執行自動宏 133

  8.2 詳談VBA的事件 134

  8.2.1 事件的定義與分類 135

  8.2.2 事件的層次與執行順序 135

  8.2.3 事件的禁用與啟用 137

  8.2.4 事件代碼的錄入方式 139

  8.3 VBA有哪些事件 140

  8.3.1 應用程序級別事件介紹 140

  8.3.2 工作簿事件介紹 141

  8.3.3 工作表事件介紹 142

  8.3.4 事件的特例 142

第 09章 VBA程序常規則

  9.1 代碼編寫規則 144

  9.1.1 對代碼添加註釋 144

  9.1.2 長代碼分行 147

  9.1.3 代碼縮進對齊 149

  9.1.4 聲明有意義的變數名稱 150

  9.1.5 IF...end if類配對語句的錄入方式 151

  9.1.6 錄入事件代碼的方式 151

  9.1.7 借用自動列出程序錄入代碼 151

  9.1.8 善用公共變數 152

  9.1.9 將較大的過程分為多個再調用 153

  9.1.10 減少過程參數 153

  9.1.11 兼容Excel 2007和Excel 2003 153

  9.2 優化代碼 154

  9.2.1 強制聲明變數 154

  9.2.2 善用常量 154

  9.2.3 關閉屏幕更新 155

  9.2.4 利用With減少對象讀取次數 155

  9.2.5 利用變數減少對象讀取次數 157

  9.2.6 善用帶$的字元串處理函數 157

  9.2.7 善用循環中的步長減少循環次數 157

  9.2.8 利用數組代替單元格對象 158

  9.2.9 不重複調用自定義函數時不使用自定義函數 159

  9.2.10 將不改變值或者屬性的語句放到循環語句外 160

  9.2.11 利用長度計算判斷單元格是否非空 160

  9.2.12 盡量調用內置功能 161

  9.2.13 利用對象循環替代單元格循環 161

第 10章 常用語法剖析

  10.1 輸入、輸出語句 163

  10.1.1 Msgbox函數的功能及作用 163

  10.1.2 Msgbox函數的語法 164

  10.1.3 Msgbox函數的限制 168

  10.1.4 利用WScript突破Msgbox限制 169

  10.1.5 Debug.print 170

  10.1.6 Inputbox函數的功能與作用 170

  10.1.7 Inputbox函數的語法 171

  10.1.8 借用Inputbox函數生成月曆 173

  10.1.9 Inputbox函數的限制 175

  10.1.10 利用Application.Inputbox方法替代Inputbox函數 175

  10.1.11 Application.Inputbox語法詳解 176

  10.2 條件判斷語句 179

  10.2.1 iif函數的語法與應用 179

  10.2.2 IIF函數的限制 182

  10.2.3 IF...Then...語句的語法詳解 183

  10.2.4 IF...then...應用案例 183

  10.2.5 IF...Then...Else...語法與應用 185

  10.2.6 條件語句的嵌套應用 186

  10.2.7 Select Case語法詳解 189

  10.2.8 Select Case與IF...Then...Else之比較 192

  10.2.9 借用Choose函數簡化條件選擇 194

  10.3 循環語句 196

  10.3.1 For Next語句 196

  10.3.2 利用循環獲取工作表目錄 202

  10.3.3 For Each Next語法詳解 205

  10.3.4 利用循環選擇區域中所有負數 206

  10.3.5 利用循環統一所有圖片高度並對齊單元格 207

  10.3.6 Do Loop語法詳解 209

  10.3.7 在工作表中循環獲取所有字體 211

  10.3.8 計算得分累加到1000時的月份 213

  10.3.9 利用循環產生文字動畫 214

  10.4 With語句 215

  10.4.1 With語句的用途與語法 215

  10.4.2 With語句實例 218

  10.4.3 With語句常見錯誤分析 220

  10.5 錯誤處理語句 221

  10.5.1 錯誤類型與原因 222

  10.5.2 Err對象及其屬性、方法 222

  10.5.3 認識Error函數 223

  10.5.4 羅列錯誤代碼及含義 224

  10.5.5 VBA的錯誤處理機制 225

  10.5.6 錯誤處理:錯誤三次則退出程序 231

  10.5.7 錯誤處理:多功能選區統計 232

  10.5.8 錯誤處理的作用域 234

  10.5.9 GoSub...Return語句 236

  10.5.10 開發錯誤處理函數 238

第 11章 Excel常見對象的應用技巧

  11.1 Application應用案例 241

  11.1.1 選區拼寫檢查 241

  11.1.2 調用工作表函數 242

  11.1.3 切換滑鼠形狀 243

  11.1.4 計算表達式 244

  11.1.5 禁止程序運行時彈出警告框 245

  11.1.6 調整計算方式 246

  11.1.7 羅列最近使用過的文件 247

  11.1.8 查找並打開文件 248

  11.1.9 建立文件目錄 248

  11.1.10 定製程序標題 250

  11.1.11 打開指定應用程序 250

  11.1.12 新建一個帶有7個工作表的工作簿 251

  11.1.13 在指定時間提示行程安排 252

  11.1.14 模擬鍵盤快捷鍵 253

  11.1.15 為過程指定快捷鍵 255

  11.1.16 合併區域 256

  11.1.17 獲取多區域的交集 258

  11.1.18 中斷程序到一定時間后再繼續 259

  11.1.19 調用內置對話框 260

  11.1.20 滾動顯示Excel狀態欄信息 261

  11.1.21 添加自定義序列 261

  11.1.22 添加名稱 264

  11.1.23 將自定義數標記為易失性函數 264

  11.1.24 選定任意工作簿中的任意區域 265

  11.1.25 設置應用程序的可見性 266

  11.1.26 設置批註的顯示方式 267

  11.2 Range對象應用案例 268

  11.2.1 清除單元格格式 268

  11.2.2 複製單元格數據 270

  11.2.3 將區域中的數據合併到一個單元格中 272

  11.2.4 多工作表數據合併且添加邊框 273

  11.2.5 讓高度與寬度自動適應數據 275

  11.2.6 在區域中精確查找 275

  11.2.7 替換不規則貨品名稱 278

  11.2.8 將公式添加到批註 278

  11.2.9 填充工作日 279

  11.2.10 對區域添加四周邊框 281

  11.2.11 多區域合併 282

  11.2.12 對小於60的成績加虛框 283

  11.2.13 反向選擇單元格 285

  11.2.14 插入圖片並調整為選區大小 287

  11.2.15 選擇當前表已用區域的奇/偶數行 289

  11.2.16 刪除當前表的空行 290

  11.2.17 刪除重複值 291

  11.2.18 將選區導出為圖片 293

  11.2.19 刪除超鏈接 295

  11.2.20 選擇本表所有合併單元格 296

  11.2.21 朗讀選區字元 296

  11.2.22 隱藏所有公式結果為錯誤的單元格 297

  11.2.23 快速添加日期批註且自動縮放 298

  11.2.24 以逗號為分隔符將文本分列 299

  11.2.25 生成二級下拉選單 300

  11.2.26 將產量批量轉換成下拉菜單 302

  11.2.27 設計一個簡單放大鏡 303

  11.3 Names對象應用案例 305

  11.3.1 羅列當前工作簿的所有名稱 305

  11.3.2 利用名稱引用其他表數據 305

  11.3.3 隱藏當前工作簿包含「A」的所有名稱 306

  11.3.4 借用名稱將區域數據引用到組合框 307

  11.3.5 設計三級下拉菜單 308

  11.4 Comments 對象應用案例 311

  11.4.1 批量將數據導入批註 311

  11.4.2 在所有批註末尾添加指定日期 313

  11.4.3 為批註設置圖片背景 314

  11.4.4 添加個性化批註 315

  11.4.5 批量修改當前表批註的外觀 318

  11.4.6 替換所有批註中的「計算機」為「電腦」 319

  11.5 Sheets對象應用案例 320

  11.5.1 添加匯總工作表 320

  11.5.2 批量添加工作表且以本月日期命名 321

  11.5.3 迅速產生樣表 322

  11.5.4 將當前表移到其他工作簿 324

  11.5.5 除「目錄」工作表外隱藏其他所有工作表 324

  11.5.6 分別計算工作表數量和圖表數量 325

  11.5.7 建立帶鏈接功能的工作表目錄且通過快捷鍵返回目錄 326

  11.5.8 對當前表已用區域設置背景圖片 328

  11.5.9 批量命名工作表 329

  11.5.10 隱藏所有工作表非使用區 330

  11.6 Workbooks對象應用案例 332

  11.6.1 新建工作簿且對其命名為今日期 332

  11.6.2 將當前工作簿另存且加密 333

  11.6.3 工作簿拆分 335

  11.6.4 批量打開文件 336

  11.6.5 導入文本文件到當前工作簿 338

  11.6.6 保存並關閉本工作簿以外的工作簿 339

  11.6.7 每30分鐘備份工作簿 340

  11.6.8 將當前工作簿備份到D盤 342

  11.6.9 清除所有打開工作簿的密碼 342

  11.6.10 獲取工作簿建立時間和最後一次保存時間 343

  11.6.11 記錄文件打開次數 344

  11.6.12 切換圖形對象隱藏與顯示 345

  11.6.13 設計一個查看一次即自動刪除的工作簿 346

  11.6.14 禁止插入新工作表 347

  11.6.15 不打開工作簿而提取數據 348

  11.6.16 將指定文件夾下每個工作簿中的三月生產表合併到一個工作簿 350

  11.6.17 建立指定文件夾下所有工作簿目錄和工作表目錄 353

  11.6.18 斷開與其他工作簿的數據鏈接 355

  11.7 Windows 對象案例 355

  11.7.1 獲取窗口列表 355

  11.7.2 確保隨時打開工作簿都窗口最大化 356

  11.7.3 切換當前窗口的網格線、滾動條、標題與工作表標籤 357

  11.7.4 自由滾動窗口方便閱讀工作表數據 357

  11.7.5 以當前單元格為基準拆分窗格 360

  11.7.6 計算活動單元格左邊距 360

  11.7.7 計算活動單元格的屏幕位置 361

  11.7.8 三種方式不顯示零值 362

第 12章 Excel的事件應用案例

  12.1 應用程序事件案例 364

  12.1.1 新工作簿環境設計 364

  12.1.2 打開任意工作簿時全自動備份 365

  12.2 工作簿事件案例 366

  12.2.1 新建工作表時自動設置頁眉 366

  12.2.2 禁止縮小工作簿窗口 367

  12.2.3 未匯總則禁止關閉工作簿 368

  12.2.4 新建工作表時以當前時間命名 368

  12.2.5 關閉工作簿前刪除多餘工作表 369

  12.2.6 月底以外時間禁止列印總表 369

  12.2.7 調整窗口大小時報告可見區域行列數 370

  12.2.8 禁止切換到其他工作簿 371

  12.3 工作表事件案例 371

  12.3.1 選擇單元格時在狀態欄提示地址 371

  12.3.2 快速錄入出勤表 372

  12.3.3 建立只能使用一次的超鏈接 373

  12.3.4 讓A1的日期單擊更新 374

  12.3.5 在狀態欄顯示選區的字母、數字、漢字個數 374

  12.3.6 實時監控單元格每一次的編輯數據與時間 375

  12.3.7 利用數字簡化公司名輸入 376

  12.3.8 錄入數據時自動跳過帶公式的單元格 377

  12.3.9 在工作表的標題行禁用左、右鍵 378

  12.3.10 對選擇區域進行背景著色 379

  12.3.11 適用於指定區域的自動更正 380

  12.4 ActiveX控制項事件案例 381

  12.4.1 滑鼠移過時切換按鈕顏色 381

  12.4.2 滑鼠移動錄入姓名 382

  12.4.3 滑鼠移過組合框時載入圖片 383

  12.4.4 滑鼠移過列表框時輸入品名與單價 384

第 13章 數組基礎

  13.1 數組基礎 386

  13.1.1 數組概念 386

  13.1.2 數據的維數 387

  13.1.3 利用索引號獲取數組中的元素 388

  13.1.4 聲明數組與賦值 389

  13.1.5 靜態數組與動態數組 390

  13.2 內置數組函數 391

  13.2.1 Array:創建一個數組 391

  13.2.2 IsArray:判斷是否是數組 392

  13.2.3 Index:從數組中取值 392

  13.2.4 Transpose:轉置數組 392

  13.2.5 LBound / Ubound:獲取數組的上下界 395

  13.2.6 Split/ Join:文本與數組轉換 395

  13.2.7 Filter:數組的篩選 396

第 14章 開發數組函數與數組應用

  14.1 自定義數組函數 398

  14.1.1 定義數組函數要點 398

  14.1.2 獲取工作表目錄 398

  14.1.3 星期序列 399

  14.1.4 獲取區域的唯一值 400

  14.2 數組應用案例 401

  14.2.1 將按姓名排列的縱向學員錶轉置為按班級橫向排列 401

  14.2.2 多表學員資料查詢 402

  14.2.3 自定義百家姓序列 404

  14.2.4 查詢兩列相同項 405

  14.2.5 獲取文件夾下所有文件詳細信息 406

  14.2.6 獲取當前表所有批註 407

第 15章 認識窗體與控制項

  15.1 UserForm簡介 409

  15.1.1 窗體與控制項的用途 409

  15.1.2 插入窗體與控制項的方法 409

  15.1.3 使用Excel 5.0對話框 410

  15.2 窗體控制項一覽 410

  15.2.1 標籤 410

  15.2.2 文字框 411

  15.2.3 命令按鈕 411

  15.2.4 複合框 411

  15.2.5 列表框 411

  15.2.6 複選框 411

  15.2.7 單選框 411

  15.2.8 分組框 411

  15.2.9 切換按鈕 412

  15.2.10 多頁控制項 412

  15.2.11 滾動條 412

  15.2.12 圖像 412

  15.2.13 RefEdit 412

  15.2.14 附件控制項 412

  15.3 設置控制項屬性 413

  15.3.1 調整窗體控制項位置與大小 413

  15.3.2 設置控制項的順序 413

  15.3.3 共同屬性與非共同屬性 413

  15.3.4 設置顏色屬性 414

  15.3.5 設置寬與高屬性 414

  15.3.6 設置Picture屬性 414

  15.3.7 設置游標屬性 415

  15.3.8 設置複合框 415

  15.3.9 設置Flash動畫 416

  15.4 窗體與控制項的事件 416

  15.4.1 窗體事件介紹 416

  15.4.2 顯示窗體時隨機載入背景圖 417

  15.4.3 初始化窗體時填充列表框下拉列表 417

  15.4.4 雙擊時關閉窗體 418

  15.4.5 窗體永遠顯示在上左角 418

  15.4.6 按比例縮放窗體及滾動窗體 419

  15.4.7 控制項事件介紹 421

  15.4.8 在窗體中建立超鏈接 421

  15.4.9 滑鼠移過更新列表框數據 422

  15.4.10 讓輸入學號的文字框僅能錄入6位數字 423

  15.4.11 滑鼠拖動調整文字框大小 424

  15.4.12 為窗體中所有控制項設置幫助 426

第 16章 窗體控制項運用案例

  16.1 窗體運用 428

  16.1.1 設計登錄界面 428

  16.1.2 許可權認證窗口 429

  16.1.3 設計計劃任務嚮導 431

  16.1.4 設計動畫幫助 434

  16.1.5 用窗體瀏覽圖片 434

  16.2 窗體與表格的交互 436

  16.2.1 設計多表錄入面板 436

  16.2.2 多條件高級查詢 438

  16.2.3 分類匯總捐贈額並按需求導出 440

  16.2.4 輸入長地名時逐一提示 441

第 17章 表單控制項與ActiveX控制項

  17.1 表單控制項 444

  17.1.1 控制項的調出方式 444

  17.1.2 表單控制項的功能 444

  17.1.3 表單工具的優缺點 444

  17.1.4 案例:批量插入單選框並分組 445

  17.2 ActiveX控制項 446

  17.2.1 ActiveX控制項功能 446

  17.2.2 利用列表框突破數據有效性的單列限制 446

  17.2.3 在工作表中播放Flash動畫 448

  17.2.4 在工作表左上角播放GIF動畫 448

  17.2.5 在複合框顯示數據源的唯一值 449

第 18章 文件管理

  18.1 認識文件處理內置命令 451

  18.1.1 打開與關閉文件 451

  18.1.2 讀取文本文件內容 452

  18.1.3 複製文件 453

  18.1.4 獲取文件最後修改時間 453

  18.1.5 計算文件大小 454

  18.1.6 獲取文件屬性及設置文件屬性 454

  18.1.7 刪除文件 454

  18.1.8 創建與刪除文件夾 455

  18.1.9 對文件重命名 455

  18.1.10 判斷文件及目錄是否存在 455

  18.2 文件操作案例 456

  18.2.1 批量建立文件夾 456

  18.2.2 獲取D盤根目錄中大於1MB的文件列表 456

  18.2.3 將E盤根目錄中所有隱藏的文件顯示出來 457

  18.2.4 備份文件夾中的Excel文件 457

  18.2.5 限制文件的最晚打開時間 458

  18.2.6 刪除文件夾中2年沒有用過的文件 458

  18.2.7 文件批量重命名 459

第 19章 FSO、WScript與DOS在VBA中的應用

  19.1 認識FSO 460

  19.1.1 FSO的用途與調用方式 460

  19.1.2 FSO的對象 461

  19.1.3 FSO常用對象的方法與屬性 461

  19.2 用FSO處理文件與目錄 463

  19.2.1 獲取文件夾相關信息 463

  19.2.2 刪除D盤中大小為0的文件夾 464

  19.2.3 獲取C盤中所有文件列表 464

  19.3 關於腳本語言WScript 464

  19.3.1 關於腳本語言 464

  19.3.2 WScript的方法與屬性 465

  19.3.3 WScript.Shell的使用方法 465

  19.4 腳本語言應用案例 466

  19.4.1 在桌面建立當前工作簿的快捷方式 466

  19.4.2 將Excel 2003和Excel 2007添加到右鍵「發送到」菜單 466

  19.4.3 顯示桌面所有文件列表 467

  19.4.4 關閉數字鍵及打開大寫鎖定鍵 468

  19.4.5 提取選擇的文件夾中所有文件的信息 468

  19.4.6 打開網上鄰居 469

  19.4.7 在收藏夾中添加網址 469

  19.5 VBA中調用DOS 470

  19.6 DOS在VBA中的應用 471

  19.6.1 獲取CDE三個磁碟根目錄中的目錄列表 471

  19.6.2 獲取D盤中所有Excel文件 471

  19.6.3 獲取IP地址與網關設置 472

第 20章 磁碟與系統信息管理

  20.1 獲取磁碟信息 473

  20.1.1 CreateObject 配合FSO獲取磁碟信息 473

  20.1.2 GetObject配合WMI獲取磁碟信息 474

  20.1.3 API法 474

  20.2 獲取系統信息 475

  20.2.1 羅列當前系統進程 475

  20.2.2 獲取硬碟型號與容量 476

  20.2.3 獲取解析度 476

第 21章 認識Excel的內置命令欄對象

  21.1 關於內置命令欄 478

  21.1.1 Excel對命令欄的處理方式 478

  21.1.2 內置命令欄的分類 478

  21.1.3 手工定義工具欄按鈕 478

  21.2 了解CommandBars對象 479

  21.2.1 CommandBar的常用屬性 479

  21.2.2 CommandBar的方法 479

  21.2.3 獲取CommandBars子對象的名稱與類型 479

  21.2.4 獲取及保存內置圖標 480

第 22章 創建新工具欄

  22.1 創建與刪除工具欄 482

  22.1.1 建立工具按鈕基本語法 482

  22.1.2 自定義新工具欄案例:工作表目錄 484

  22.2 彈出式工具欄 485

  22.2.1 創建彈出式工具欄語法結構 485

  22.2.2 創建一個彈出式工具欄 486

  22.2.3 創建三級工具欄 486

  22.3 特殊的工具欄 487

  22.3.1 創建可讀寫的彈出式工具欄 487

  22.3.2 利用工具欄文字框查找數據 488

第 23章 創建新菜單欄

  23.1 菜單基礎 490

  23.1.1 菜單的分類 490

  23.1.2 創建菜單基本語法 490

  23.1.3 設計菜單注意事項 491

  23.2 創建新菜單案例 491

  23.2.1 創建關機與重啟兩個工作表菜單 491

  23.2.2 由用戶定義子菜單容器 492

  23.3 設計感應菜單 493

  23.3.1 在指定工作表才可用的菜單 493

  23.3.2 在指定區域才可用的菜單 493

  23.3.3 選擇圖表才出現的菜單 494

第 24章 操作快捷菜單

  24.1 認識快捷菜單 495

  24.1.1 快捷菜單的分類 495

  24.1.2 獲取Excel所有快捷菜單 495

  24.1.3 Excel 2003和Excel 2007中快捷菜單的差異 496

  24.2 定製快捷菜單 496

  24.2.1 創建單元格右鍵子菜單 496

  24.2.2 設計左鍵快捷菜單 497

  24.2.3 打造最強大的單元格右鍵菜單 498

  24.2.4 在窗體中顯示快捷菜單 500

第 25章 認識類和類模塊

  25.1 類模塊基礎 502

  25.1.1 類模塊應用範圍 502

  25.1.2 類模塊事件 502

  25.1.3 類模塊與變數 503

  25.2 類的應用 503

  25.2.1 程序級事件:在標題處顯示工作簿路徑 503

  25.2.2 對所有工作表的選區背景著色 505

  25.2.3 為窗體的按鈕批量設置事件過程 506

  25.2.4 開發一個顏色拾取器 507

第 26章 API的基本應用

  26.1 API在窗體設計中的應用 509

  26.1.1 按任意地方都可拖動的窗體 509

  26.1.2 設計半圓形動畫窗體 510

  26.1.3 資料錄入完整滑鼠才可能離開窗體的範圍限制 511

  26.1.4 拖動窗體隨意修改窗體大小 513

  26.1.5 設計百葉窗式動態窗體 514

  26.1.6 在窗體中展示文字動畫 515

  26.2 API的其他應用 516

  26.2.1 發送郵件 516

  26.2.2 仿Photoshop設計彩蛋 517

  26.2.3 讓ActiveX控制項在非設計模式下也能移動 518

  26.2.4 將文件刪除並存入回收站 519

第 27章 VBA與註冊表

  27.1 VBA對註冊表的控制方式 521

  27.1.1 什麼是註冊表 521

  27.1.2 VBA操作註冊表的方法 522

  27.1.3 VBA操作註冊表的優缺點 523

  27.1.4 借用腳本實現註冊表的自由控制 523

  27.2 註冊表的應用 523

  27.2.1 記錄當前工作簿最後一次打開時間 524

  27.2.2 限制工作簿使用次數 524

  27.2.3 讓零值顯示設置適用所有工作表 525

  27.2.4 禁止使用U盤 526

第 28章 VBE的對象模型與對象控制

  28.1 準備工作 527

  28.1.1 設置Excel選項 527

  28.1.2 引用對象庫 528

  28.2 認識VBE的對象模型 528

  28.2.1 VBE對象模型的層次結構 528

  28.2.2 VBE對象介紹 529

  28.2.3 如何引用VBE對象 530

  28.2.4 羅列當前工程中所有組件及其類型 530

  28.3 VBE對象的控制 531

  28.3.1 羅列指定模塊中所有過程的名稱 531

  28.3.2 羅列所有模塊代碼總行數 533

  28.3.3 利用代碼添加模塊 534

  28.3.4 用代碼添加工作簿事件代碼 534

  28.3.5 創建ActiveX控制項且編寫單擊事件代碼 535

  28.3.6 刪除當前工作簿所有代碼及窗體、模塊組件 536

  28.3.7 判斷工作簿是否有宏代碼 537

  28.3.8 全自動生成窗體、控制項及事件代碼 538

第 29章 程序開發思想

  29.1 開發人員自我定位 540

  29.1.1 區別開發人員與應用人員 540

  29.1.2 開發人員基本條件 540

  29.2 開發插件與普通VBA編程的區別 541

  29.3 如何開發最佳應用程序 541

  29.3.1 羅列應用程序需具備的功能 541

  29.3.2 與終端用戶交流 542

  29.3.3 規劃程序結構 542

  29.3.4 設定友好的界面 542

  29.3.5 提升程序通用性 542

  29.3.6 注重程序效率 543

  29.3.7 提供防錯機制 543

第 30章 開發VBE插件

  30.1 菜單定製基礎 544

  30.1.1 認識命令欄對象 544

  30.1.2 創建命令欄基本語法 544

  30.1.3 羅列VBE中所有菜單與子菜單 545

  30.1.4 創建菜工具欄以統計模塊中過程相關信息 546

  30.2 開發VBA插件工具箱 547

  30.2.1 開發插件的準備工作 548

  30.2.2 羅列插件功能 548

  30.2.3 開發代碼編號工具 548

  30.2.4 開發代碼美化工具 550

  30.2.5 開發代碼導出工具 552

  30.2.6 開發代碼清除工具 553

  30.2.7 開發代碼減肥工具 554

  30.2.8 編寫菜單 556

  30.2.9 發布插件 558

第 31章 開發xlam與COM載入項插件

  31.1 關於載入宏 560

  31.1.1 載入宏的特點 560

  31.1.2 為什麼使用載入宏 561

  31.1.3 載入宏管理器 561

  31.1.4 內置載入宏的載入與使用 562

  31.1.5 安裝與卸載自定義載入宏 562

  31.2 關於載入項 562

  31.2.1 載入項的分類 563

  31.2.2 載入項的開發方式 563

  31.2.3 兩種載入項的安裝方式 563

  31.3 準備編寫XLAM載入宏 565

  31.3.1 認識Excel工作簿的格式 565

  31.3.2 生成載入宏的兩種方法 566

  31.4 開發集公農曆於一體的日期輸入器 566

  31.4.1 確認程序需具備的功能 566

  31.4.2 定義公曆轉農曆的函數 566

  31.4.3 設計日期輸入器窗體 567

  31.4.4 編寫窗體初始化代碼 568

  31.4.5 實現輸入器與工作表交互 570

  31.4.6 設計幫助 572

  31.4.7 定製菜單 575

  31.4.8 測試併發布插件 575

  31.5 利用VB 6.0編寫COM載入項 576

  31.5.1 COM載入項開發基礎 576

  31.5.2 安裝VB 6.0企業版 576

  31.5.3 開發COM載入項基本步驟 577

  31.6 開發重複值控制器 579

  31.6.1 確認插件所需功能 580

  31.6.2 建立VB工程 580

  31.6.3 編寫菜單代碼及響應事件 580

  31.6.4 編寫重複值控制主程序 581

  31.6.5 發布載入項並安裝調試 582

第 32章 開發「Excel百寶箱」

  (以下內容見光碟)

  32.1 程序規劃 584

  32.1.1 了解終端用戶需求 584

  32.1.2 確認插件功能表 585

  32.1.3 規劃插件結構 585

  32.2 財務工具箱 586

  32.2.1 製作工資條頭 586

  32.2.2 根據工資計算所需鈔票張數 588

  32.2.3 小寫金額轉大寫 591

  32.2.4 工作簿與工作表合併 592

  32.2.5 工作表拆分 602

  32.2.6 工作簿拆分 605

  32.2.7 複選框工具 609

  32.2.8 文本與數據轉換 612

  32.3 合併工具箱 613

  32.3.1 合併數據並居中及其還原 614

  32.3.2 合併數據並複製 615

  32.3.3 取消區域合併填充原合併值 617

  32.3.4 可還原的合併居中 618

  32.3.5 合併列中相同數據及還原 620

  32.4 批註工具箱 621

  32.4.1 批註管理器 622

  32.4.2 添加個性化批註 625

  32.4.3 建立圖片批註 627

  32.4.4 批量添加右列內容為批註 628

  32.4.5 批量導入同名照片到批註 629

  32.5 圖片工具箱 631

  32.5.1 將選區轉換成圖片 631

  32.5.2 批量導入圖片 633

  32.5.3 批量導出圖片到硬碟 635

  32.6 開發函數 637

  32.6.1 開發自定義函數 637

  32.6.2 設計函數幫助 656

  32.7 定製百寶箱幫助 659

  32.7.1 定製百寶箱幫助 659

  32.7.2 信息反饋 664

  32.8 定製多級菜單併發布 666

  32.8.1 定製菜單 666

  32.8.2 發布 667

  32.8.3 小結 668

上一篇[寸延]    下一篇 [紫川]

相關評論

同義詞:暫無同義詞