第1章 從插件看VBA的優越性 1
1.1 從身份證號獲取個人信息 1
1.1.1 內置公式法 1
1.1.2 自定義函數法 2
1.1.3 插件法 3
1.1.4 淺談VBA優勢 4
1.2 插件特點及如何發揮插件的優勢 5
1.2.1 Excel插件的特點 5
1.2.2 Excel插件的優勢與限製 6
1.2.3 如何發揮插件的優勢 7
1.2.4 開發Excel插件的條件 7
1.2.5 本書架構 8
第2章 VBA簡史與安全性 9
2.1 VBA的發展史與優缺點 9
2.1.1 宏與VBA 9
2.1.2 VBA曆史與版本 9
2.1.3 VBA的優、缺點 10
2.2 VBA能做什麼 11
2.2.1 VBA主要用途 11
2.2.2 VBA主要用戶 12
2.3 VBA的安全性 13
2.3.1 VBA的安全性 13
2.3.2 瞭解安全性對話框 13
2.3.3 讓自己的VBA程序暢通無阻 16
2.4 使用VBA幫助 17
2.4.1 利用幫助學習VBA語法 17
2.4.2 捕捉錯誤 19
第3章 巧設VBA編輯器提升編程效率 23
3.1 認識VBE組件 23
3.1.1 訪問VBA開發環境 23
3.1.2 認識VBE的組件 24
3.1.3 VBE中不同代碼窗口的作用 29
3.2 VBE中的選項設置 31
3.2.1 編輯器選項 31
3.2.2 編輯器格式選項 34
3.2.3 通用選項 35
3.2.4 VBA代碼保護 36
第4章 VBA基本概念 38
4.1 理解VBA的對象、屬性與方法 38
4.1.1 什麼是對象 38
4.1.2 如何理解屬性 39
4.1.3 如何理解方法 40
4.1.4 判斷對象的屬性與方法 41
4.2 認識VBA的事件 41
4.2.1 什麼是事件 41
4.2.2 事件的分類及其用途 42
4.3 VBA的運算符 42
4.3.1 VBA中運算符的分類 42
4.3.2 算術運算符 42
4.3.3 比較運算符 43
4.3.4 邏輯運算符 43
4.3.5 運算符的優先順序 45
4.4 簡單的字符處理函數 46
4.4.1 字符串處理函數功能介紹 46
4.4.2 StrComp:字符相似比較 47
4.4.3 Strconv:字符串類型轉換 47
4.4.4 Format:格式化字符串 48
4.4.5 LCase/ UCase:大小寫轉換 48
4.4.6 String / Space:重復字符 49
4.4.7 Lset / Rset:字符串往左/右對齊 49
4.4.8 Instr:返迴字符齣現位置 50
4.4.9 Left/Mid/Right:從左、中、右取值 50
4.4.10 LTrim/RTrim/ Trim:去除空格 51
4.4.11 Like:字符串相似度比較 51
第5章 深入解析數據類型與變量 53
5.1 數據類型 53
5.1.1 為什麼要區分數據類型 53
5.1.2 認識VBA的數據類型 53
5.1.3 數據類型的聲明與轉換 55
5.2 常量與變量 57
5.2.1 常量的定義與用途 57
5.2.2 常量的聲明方式 58
5.2.3 常量的命名規則 58
5.2.4 變量的定義與用途 59
5.2.5 變量的類型與聲明 60
5.2.6 為什麼要聲明變量 61
5.2.7 區分靜態變量與動態變量 62
5.2.8 變量的作用域和生命周期 63
5.2.9 認識對象變量 65
5.2.10 認識數組變量 66
第6章 編寫Sub過程及開發函數 67
6.1 認識過程 67
6.1.1 過程的分類與調用方式 67
6.1.2 插入過程的方式 69
6.1.3 過程的命名規則 71
6.2 編寫Sub過程 71
6.2.1 Sub過程的語法解析 71
6.2.2 Sub過程的執行流程 73
6.2.3 過程的遞歸 77
6.2.4 Sub過程實例演示 78
6.3 認識Function過程 79
6.3.1 Function過程的特點 79
6.3.2 Function的語法解析 79
6.3.3 調用Function過程 80
6.4 關於過程的參數 81
6.4.1 Sub過程的參數及應用 81
6.4.2 按值傳遞與按址傳遞的參數 83
6.4.3 Function過程的參數 84
6.5 開發自定義函數 85
6.5.1 開發不帶參數的Function過程 85
6.5.2 開發帶有一個參數的Function過程 87
6.5.3 開發帶有兩個參數的Function過程 89
6.5.4 開發帶有兩個可選參數的Function過程 91
6.5.5 開發帶有不確定參數的Function過程 93
6.5.6 開發具有三個參數且第三個為可選的Function過程 96
6.6 編寫函數幫助 98
6.7 總結 103
第7章 對象的引用方式總結 104
7.1 VBA中的對象及結構 104
7.1.1 關於對象的相關概念 104
7.1.2 對象與對象集閤 105
7.1.3 對象的層次:父對象與子對象 106
7.1.4 認識Excel所有對象 107
7.2 對象的錶示法 108
7.2.1 對象的完整引用方式與簡寫 108
7.2.2 利用名稱獲取對象 108
7.2.3 利用集閤索引號獲取對象 109
7.2.4 活動對象的簡化引用 110
7.2.5 利用With語句簡化對象引用 111
7.2.6 事件中的Me關鍵字 112
7.3 單元格的各種引用方式 113
7.3.1 Range("A1")方式引用單元格 114
7.3.2 Cells(1,1)方式引用單元格 117
7.3.3 [a1]方式引用單元格 118
7.3.4 Range("A1")、Cells(1,1)與[a1]比較 118
7.3.5 Selection與ActiveCell:當前選區與活動單元格 120
7.3.6 Names:利用名稱引用單元格或區域 121
7.3.7 UsedRange與CurrentRegion 123
7.3.8 SpecialCells:按條件引用區域 126
7.3.9 CurrentArray:引用數組區域 128
7.3.10 Resize:重置區域大小 129
7.3.11 Offset:根據偏移量引用區域 130
7.3.12 Union:單元格的閤集 133
7.3.13 Intersect:單元格、區域的交集 135
7.3.14 End:引用源區域的區域尾端的單元格 137
第8章 讓代碼自動運行 141
8.1 讓宏自動執行 141
8.1.1 Auto自動宏 141
8.1.2 工作簿事件中的自動宏 142
8.1.3 利用鼠標移動事件執行自動宏 143
8.2 詳談VBA的事件 144
8.2.1 事件的定義與分類 144
8.2.2 事件的層次和執行順序 144
8.2.3 事件的禁用與啓用 147
8.2.4 事件代碼的錄入方式 149
8.3 VBA有哪些事件 149
8.3.1 應用程序級彆事件介紹 150
8.3.2 工作簿事件介紹 151
8.3.3 工作錶事件介紹 153
8.3.4 事件的特例 153
第9章 編程規則與代碼優化 155
9.1 代碼編寫規則 155
9.1.1 對代碼添加注釋 155
9.1.2 長代碼分行 159
9.1.3 代碼縮進對齊 160
9.1.4 聲明有意義的變量名稱 161
9.1.5 IF…End IF類配對語句的錄入方式 162
9.1.6 錄入事件代碼的方式 163
9.1.7 藉用自動列齣成員錄入代碼 163
9.1.8 善用公共變量 164
9.1.9 將較大的過程分為多個再調用 164
9.1.10 減少過程參數 165
9.1.11 兼容Excel 2010和Excel 2003 165
9.2 優化代碼 166
9.2.1 強製聲明變量 166
9.2.2 善用常量 166
9.2.3 關閉屏幕更新 166
9.2.4 利用With減少對象讀取次數 167
9.2.5 利用變量減少對象讀取次數 168
9.2.6 善用帶$的字符串處理函數 169
9.2.7 善用循環中的步長減少循環次數 169
9.2.8 利用數組代替單元格對象 170
9.2.9 不重復調用自定義函數時不使用自定義函數 172
9.2.10 將不改變值或者屬性的語句放到循環語句外 172
9.2.11 利用長度計算判斷單元格是否非空 173
9.2.12 盡量調用內置功能 173
9.2.13 利用對象循環替代單元格循環 174
第10章 常用語法剖析 175
10.1 輸入、輸齣語句 175
10.1.1 Msgbox函數的功能及作用 175
10.1.2 Msgbox的語法 176
10.1.3 Msgbox函數的限製 180
10.1.4 利用WScript突破Msgbox限製 181
10.1.5 Debug.print 182
10.1.6 Inputbox函數的功能與作用 183
10.1.7 Inputbox函數的語法 183
10.1.8 藉用Inputbox函數生成月曆 186
10.1.9 Inputbox函數的限製 188
10.1.10 利用Application.Inputbox方法替代Inputbox函數 188
10.1.11 Application.Inputbox語法詳解 188
10.2 條件判斷語句 192
10.2.1 IIF函數的語法與應用 192
10.2.2 IIF函數的限製 195
10.2.3 IF…Then…語句的語法詳解 196
10.2.4 IF…Then…應用案例 196
10.2.5 IF…Then…Else…語法與應用 198
10.2.6 條件語句的嵌套應用 200
10.2.7 Select Case語法詳解 203
10.2.8 Select Case與IF… Then…Else之比較 207
10.2.9 藉用Choose函數簡化條件選擇 208
10.3 循環語句 211
10.3.1 For Next語句 211
10.3.2 利用循環獲取工作錶目錄 217
10.3.3 For Each Next語法詳解 220
10.3.4 利用循環選擇區域中所有負數 221
10.3.5 利用循環統一所有圖片高度並對齊單元格 223
10.3.6 Do Loop語法詳解 225
10.3.7 在工作錶中循環獲取所有字體 227
10.3.8 計算得分纍加到1000時的場次 228
10.3.9 利用循環産生文字動畫 229
10.4 With語句 231
10.4.1 With語句的用途與語法 231
10.4.2 With語句實例 234
10.4.3 With語句常見錯誤分析 236
10.5 錯誤處理語句 238
10.5.1 錯誤類型與原因 238
10.5.2 Err對象及其屬性、方法 239
10.5.3 認識Error函數 239
10.5.4 羅列錯誤代碼及含義 240
10.5.5 VBA的錯誤處理機製 241
10.5.6 錯誤處理:錯誤三次則退齣程序 247
10.5.7 錯誤處理:多功能選區統計 248
10.5.8 錯誤處理的作用域 250
10.5.9 GoSub...Return語句 253
10.5.10 開發錯誤處理函數 255
第11章 基本編程應用案例 258
11.1 Application應用案例 258
11.1.1 英文單詞排錯 258
11.1.2 計算錶達式 259
11.1.3 禁止程序運行時彈齣警告框 260
11.1.4 調整計算方式 261
11.1.5 建立文件目錄 262
11.1.6 在指定時間提示行程安排 264
11.1.7 模擬鍵盤快捷鍵 265
11.1.8 為過程指定組閤鍵 267
11.1.9 閤並區域 268
11.1.10 獲取多區域的交集 270
11.1.11 滾動顯示Excel狀態欄信息 271
11.1.12 選定任意工作簿中的任意區域 272
11.2 Range對象應用案例 273
11.2.1 復製單元格數據 273
11.2.2 將區域中的數據閤並到一個單元格中 275
11.2.3 多工作錶數據閤並,且添加邊框 276
11.2.4 在區域中精確查找 278
11.2.5 替換不規則貨品名稱 280
11.2.6 多區域閤並 281
11.2.7 反嚮選擇單元格 282
11.2.8 插入圖片並調整為選區大小 284
11.2.9 選擇當前錶已用區域的奇/偶數行 286
11.2.10 刪除重復值 287
11.2.11 將選區導齣為圖片 289
11.2.12 選擇本錶所有閤並單元格 291
11.2.13 朗讀選區字符 292
11.2.14 隱藏所有公式結果為錯誤的單元格 293
11.2.15 快速添加日期批注且自動縮放 294
11.2.16 生成二級下拉選單 295
11.2.17 將産量批量轉換成下拉菜單 297
11.3 Names對象應用案例 298
11.3.1 利用名稱引用其他錶數據 298
11.3.2 藉用名稱,將區域數據引用到組閤框 300
11.3.3 設計三級下拉菜單 301
11.4 Comments 對象應用案例 304
11.4.1 批量將數據導入批注 304
11.4.2 在所有批注末尾添加指定日期 307
11.4.3 為批注設置圖片背景 308
11.4.4 添加個性化批注 309
11.4.5 批量修改當前錶批注的外觀 312
11.4.6 替換所有批注中的“計算機”為“電腦” 313
11.5 Sheets對象應用案例 314
11.5.1 添加匯總工作錶 314
11.5.2 除“目錄”工作錶外隱藏其他所有工作錶 315
11.5.3 建立帶鏈接功能的工作錶目錄,且通過快捷鍵返迴目錄 316
11.5.4 對當前錶已用區域設置背景圖片 318
11.5.5 批量命名工作錶 319
11.6 Workbooks對象應用案例 320
11.6.1 新建工作簿並調用保存對話框 320
11.6.2 工作簿拆分 322
11.6.3 導入文本文件到當前工作簿 323
11.6.4 每30分鍾備份工作簿 324
11.6.5 清除所有打開工作簿的密碼 326
11.6.6 獲取工作簿建立時間和最後一次保存時間 327
11.6.7 記錄文件打開次數 328
11.6.8 設計一個查看一次即自動刪除的工作簿 329
11.6.9 不打開工作簿而提取數據 330
11.6.10 將指定文件夾下每個工作簿中的三月生産錶閤並到一個工作簿 332
11.6.11 建立指定文件夾下所有工作簿目錄和工作錶目錄 335
11.7 Windows 對象案例 337
11.7.1 切換當前窗口的網格綫、滾動條、標題與工作錶標簽 337
11.7.2 自由滾動窗口方便閱讀工作錶數據 338
11.7.3 計算活動單元格左邊距 340
11.7.4 三種方式不顯示零值 341
11.8 程序級事件案例 343
11.8.1 新工作簿環境設計 343
11.8.2 打開任意工作簿時全自動備份 344
11.9 工作簿事件案例 345
11.9.1 新建工作錶時自動設置頁眉 345
11.9.2 未匯總則禁止關閉工作簿 346
11.9.3 新建工作錶時以當前時間命名 347
11.9.4 月底以外時間禁止打印總錶 347
11.9.5 禁止切換到其他工作簿 348
11.10 工作錶事件案例 349
11.10.1 在狀態欄提示最大值的單元格地址 349
11.10.2 快速錄入齣勤錶 350
11.10.3 在狀態欄顯示選區的字母、數字、漢字個數 351
11.10.4 實時監控單元格每一次編輯的數據與時間 352
11.10.5 利用數字簡化公司名輸入 354
11.10.6 錄入數據時自動跳過帶公式的單元格 355
11.10.7 對選擇區域進行背景著色 355
11.11 ActiveX控件事件案例 357
11.11.1 鼠標移過時切換按鈕顔色 357
11.11.2 鼠標移動錄入姓名 358
11.11.3 鼠標移過組閤框時加載圖片 359
11.11.4 鼠標移過列錶框時輸入品名與單價 360
第12章 數組基礎 362
12.1 數組基礎 362
12.1.1 數組概念 362
12.1.2 數據的維數 362
12.1.3 利用索引號獲取數組中的元素 364
12.1.4 聲明數組與賦值 365
12.1.5 靜態數組與動態數組 366
12.2 內置數組函數 367
12.2.1 Array:創建一個數組 367
12.2.2 Isarray:判斷是否是數組 368
12.2.3 Index:從數組中取值 368
12.2.4 Transpose:轉置數組 368
12.2.5 LBound / Ubound:獲取數組的上下界 371
12.2.6 Split/ Join:文本與數組轉換 372
12.2.7 Filter:數組的篩選 373
第13章 數組實戰 375
13.1 自定義數組函數 375
13.1.1 定義數組函數要點 375
13.1.2 獲取工作錶目錄 375
13.1.3 星期序列 376
13.1.4 獲取區域的唯一值 377
13.2 數組應用案例 378
13.2.1 按姓名排列的縱嚮學員錶轉置為按班級橫嚮排列 378
13.2.2 錶學員資料查詢 379
13.2.3 定義百傢姓序列 381
13.2.4 查詢兩列相同項 382
13.2.5 獲取文件夾下所有文件詳細信息 383
13.2.6 獲取當前錶所有批注 384
第14章 設計窗體 386
14.1 UserForm簡介 386
14.1.1 窗體與控件的用途 386
14.1.2 插入窗體與控件的方法 386
14.1.3 使用Excel 5.0對話框 387
14.2 窗體控件一覽 387
14.2.1 標簽 387
14.2.2 文字框 388
14.2.3 命令按鈕 388
14.2.4 復閤框 388
14.2.5 列錶框 388
14.2.6 復選框 388
14.2.7 單選框 388
14.2.8 分組框 388
14.2.9 切換按鈕 388
14.2.10 多頁控件 388
14.2.11 滾動條 389
14.2.12 圖像 389
14.2.13 RefEdit 389
14.2.14 附加控件 389
14.3 設置控件屬性 389
14.3.1 調整窗體控件位置與大小 389
14.3.2 設置控件的順序 390
14.3.3 共同屬性與非共同屬性 390
14.3.4 設置顔色屬性 390
14.3.5 設置高與寬屬性 391
14.3.6 設置Picture屬性 391
14.3.7 設置光標屬性 391
14.3.8 設置復閤框 392
14.3.9 設置Flash動畫 392
14.4 窗體與控件的事件 393
14.4.1 窗體事件介紹 393
14.4.2 顯示窗體時隨機加載背景圖 394
14.4.3 初始化窗體時填充列錶框下拉列錶 394
14.4.4 雙擊時關閉窗體 395
14.4.5 窗體永遠顯示在上左角 395
14.4.6 按比例縮放窗體及滾動窗體 396
14.4.7 控件事件介紹 398
14.4.8 在窗體中建立超鏈接 398
14.4.9 鼠標移過更新列錶框數據 399
14.4.10 讓輸入學號的文字框僅能錄入6位數字 400
14.4.11 鼠標拖動調整文字框大小 401
14.4.12 為窗體中所有控件設置幫助 403
14.5 窗體運用案例 405
14.5.1 設計登錄界麵 405
14.5.2 權限認證窗口 406
14.5.3 設計計劃任務嚮導 408
14.5.4 設計動畫幫助 411
14.5.5 用窗體瀏覽圖片 412
14.6 窗體與錶格的交互 414
14.6.1 設計多錶錄入麵闆 414
14.6.2 多條件高級查詢 416
14.6.3 分類匯總捐贈額並按需求導齣 418
14.6.4 輸入長地名時逐一提示 419
第15章 錶單控件與ActiveX控件 423
15.1 錶單控件 423
15.1.1 控件的調齣方式 423
15.1.2 錶單控件的功能 423
15.1.3 錶單工具的優缺點 423
15.1.4 案例:批量插入單選框並分組 423
15.2 ActiveX控件 425
15.2.1 ActiveX控件功能 425
15.2.2 利用列錶框突破數據有效性的單列限製 425
15.2.3 在工作錶中播放Flash動畫 427
15.2.4 在工作錶左上角播放GIF動畫 427
15.2.5 在復閤框顯示數據源的唯一值 428
第16章 FSO、WScript與DOS 在VBA中的應用 431
16.1 認識FSO 431
16.1.1 FSO的用途與調用方式 431
16.1.2 FSO的對象 432
16.1.3 FSO常用對象的方法與屬性 432
16.2 用FSO處理文件與目錄 434
16.2.1 獲取文件夾相關信息 434
16.2.2 刪除D盤中大小為0的文件夾 434
16.2.3 獲取C盤中所有文件列錶 435
16.3 關於腳本語言WScript 435
16.3.1 關於腳本語言 435
16.3.2 WScript的方法與屬性 436
16.3.3 WScript.Shell的使用方法 436
16.4 腳本語言應用案例 437
16.4.1 在桌麵建立當前工作簿的快捷方式 437
16.4.2 將Excel 2003和Excel 2010添加到右鍵“發送到”菜單 437
16.4.3 顯示桌麵所有文件列錶 438
16.4.4 關閉數字鍵及打開大寫鎖定鍵 439
16.4.5 提取選擇的文件夾中所有文件的信息 439
16.4.6 打開網上鄰居 440
16.4.7 在收藏夾中添加網址 441
16.5 VBA中調用DOS 441
16.6 DOS在VBA中的應用 442
16.6.1 獲取CDE三個磁盤根目錄中的目錄列錶 442
16.6.2 獲取D盤中所有Excel文件 443
16.6.3 獲取IP地址與網關設置 443
第17章 正則錶達式與VBA 444
17.1 何謂正則 444
17.1.1 概念 444
17.1.2 特點 444
17.1.3 調用方式 445
17.2 語法基礎 447
17.2.1 調用正則錶達式的基本格式 447
17.2.2 正則錶達式的參數 447
17.2.3 匹配的優先順序 449
17.2.4 藉用元字符強化搜索功能 450
17.3 正則錶達式應用 467
17.3.1 亂序字符串取值並匯總 467
17.3.2 計算建築麵積 468
17.3.3 取括號中的數字 470
17.3.4 去除字符串首尾的空白字符 470
17.3.5 將字符串中的多段數字分列 471
17.3.6 獲取Email地址 472
17.3.7 提取文件的路徑與文件名 473
17.3.8 匯總人民幣 474
17.3.9 開發分列函數 475
17.3.10 刪除重復字詞 476
第18章 字典的應用 478
18.1 Dictionary 對象基礎 478
18.1.1 Dictionary對象的調用 478
18.1.2 Dictionary的特點 481
18.1.3 Dictionary的屬性與方法 482
18.2 字典的應用技巧 485
18.2.1 開發取唯一值的函數 485
18.2.2 分類匯總 487
18.2.3 對多列數據相同者應用背景色 488
18.2.4 數據查詢 489
18.2.5 保存與載入選區 490
第19章 命令欄對象與工具欄開發 494
19.1 關於內置命令欄 494
19.1.1 Excel對命令欄的處理方式 494
19.1.2 內置命令欄的分類 494
19.1.3 手工定義工具欄按鈕 494
19.2 瞭解CommandBars對象 495
19.2.1 CommandBar的常用屬性 495
19.2.2 CommandBar的方法 495
19.2.3 獲取CommandBars子對象的名稱與類型 495
19.2.4 獲取及保存內置圖標 496
19.3 創建與刪除工具欄 498
19.3.1 建立工具按鈕基本語法 498
19.3.2 自定義新工具欄案例:工作錶目錄 500
19.4 創建彈齣式工具欄 501
19.4.1 創建彈齣式工具欄語法結構 501
19.4.2 創建一個彈齣式工具欄 502
19.4.3 創建三級工具欄 502
19.5 特殊的工具欄 503
19.5.1 創建可讀寫的彈齣式工具欄 504
19.5.2 利用工具欄文字框查找數據 505
第20章 自定義菜單 507
20.1 菜單基礎 507
20.1.1 菜單的分類 507
20.1.2 創建菜單基本語法 507
20.1.3 設計菜單注意事項 508
20.2 創建新菜單案例 508
20.2.1 創建關機與重啓兩個工作錶菜單 508
20.2.2 由用戶定義子菜單容器 509
20.3 設計感應菜單 510
20.3.1 在指定工作錶纔可用的菜單 510
20.3.2 在指定區域纔可用的菜單 510
20.3.3 選擇圖錶纔齣現的菜單 511
20.4 認識快捷菜單 512
20.4.1 快捷菜單的分類 512
20.4.2 獲取Excel所有快捷菜單 512
20.4.3 Excel多版本中快捷菜單的差異 513
20.5 定製快捷菜單 513
20.5.1 創建單元格右鍵子菜單 513
20.5.2 設計左鍵快捷菜單 514
20.5.3 打造最強大的單元格右鍵菜單 516
20.5.4 在窗體中顯示快捷菜單 517
第21章 認識類和類模塊 519
21.1 類模塊基礎 519
21.1.1 類模塊應用範圍 519
21.1.2 類模塊事件 519
21.1.3 類模塊與變量 520
21.2 類的應用 520
21.2.1 程序級事件:在標題處顯示工作簿路徑 520
21.2.2 對所有工作錶的選區背景著色 522
21.2.3 為窗體的按鈕批量設置事件過程 523
21.2.4 開發顔色麵闆 524
第22章 API的基本應用 527
22.1 API在窗體設計中的應用 527
22.1.1 按任意地方都可拖動的窗體 527
22.1.2 設計半圓形動畫窗體 528
22.1.3 資料錄入完整鼠標纔可以離開窗體的範圍限製 529
22.1.4 拖動窗體隨意修改窗體大小 531
22.1.5 設計百葉窗式動態窗體 532
22.1.6 在窗體中展示文字動畫 533
22.2 API的其他應用 534
22.2.1 發送郵件 534
22.2.2 仿Photoshop設計彩蛋 536
22.2.3 讓ActiveX控件在非設計模式下也能移動 537
22.2.4 將文件刪除並存入迴收站 537
第23章 VBA與注冊錶 539
23.1 VBA對注冊錶的控製方式 539
23.1.1 什麼是注冊錶 539
23.1.2 VBA操作注冊錶的方法 540
23.1.3 VBA操作注冊錶的優缺點 541
23.1.4 藉用腳本實現注冊錶的自由控製 541
23.2 注冊錶的應用 542
23.2.1 記錄當前工作簿最後一次打開時間 542
23.2.2 限製工作簿使用次數 542
23.2.3 讓零值顯示設置適用所有工作錶 543
23.2.4 禁止使用U盤 544
第24章 Ribbon功能區設計 546
24.1 功能區的特點 546
24.1.1 外型特點 546
24.1.2 調用特點 547
24.1.3 開發特點 548
24.2 準備工作 550
24.2.1 認識OfficeCustomUIEditor 550
24.2.2 OfficeCustomUIEditor的使用技巧 551
24.2.3 VBA與功能區的相互調用方式 552
24.3 基本語法 553
24.3.1 功能區元素圖解 554
24.3.2 用模闆提高定製功能區的效率 556
24.3.3 定製新功能區語法詳解 558
24.3.4 在內置選項卡插入按鈕 572
24.3.5 修改內置選項卡的名稱 574
24.3.6 調用內置組和命令 575
24.3.7 鎖定內置功能 575
24.3.8 使用迴調函數控強化功能區 577
24.3.9 調用圖片生成菜單 586
24.3.10 設計動態菜單 589
24.4 功能區開發精彩案例 594
24.4.1 開發內置圖標查看器 594
24.4.2 在功能區設計動態時鍾 596
24.4.3 開發漢化版圖片另存插件 597
24.4.4 調用照相機與更改形狀 600
24.4.5 在功能區創建工作錶目錄 601
第25章 VBE的對象模型與對象控製 604
25.1 準備工作 604
25.1.1 設置Excel選項 604
25.1.2 引用對象庫 605
25.2 認識VBE的對象模型 605
25.2.1 VBE對象模型的層次結構 605
25.2.2 VBE對象介紹 605
25.2.3 如何引用VBE對象 607
25.2.4 羅列當前工程中所有組件及其類型 607
25.3 VBE對象的控製 608
25.3.1 羅列指定模塊中所有過程的名稱 608
25.3.2 羅列所有模塊代碼總行數 610
25.3.3 利用代碼添加模塊 611
25.3.4 用代碼添加工作簿事件代碼 612
25.3.5 創建ActiveX控件且編寫單擊事件代碼 613
25.3.6 刪除當前工作簿所有代碼及窗體、模塊組件 614
25.3.7 判斷工作簿是否有宏代碼 615
25.3.8 全自動生成窗體、控件及事件代碼 616
第26章 程序開發思想 618
26.1 開發人員自我定位 618
26.1.1 區彆開發人員與應用人員 618
26.1.2 開發人員基本條件 618
26.2 開發插件與普通VBA編程的區彆 619
26.3 如何開發最佳應用程序 619
26.3.1 羅列應用程序需具備的功能 619
26.3.2 與終端用戶交流 619
26.3.3 規劃程序結構 620
26.3.4 設定友好的界麵 620
26.3.5 提升程序通用性 620
26.3.6 注重程序效率 621
26.3.7 提供防錯機製 621
第27章 開發VBA百寶箱 622
27.1 菜單定製基礎 622
27.1.1 認識命令欄對象 622
27.1.2 創建命令欄基本語法 622
27.1.3 羅列VBE中所有菜單與子菜單 623
27.1.4 創建工具欄以統計模塊中過程相關信息 624
27.2 開發VBA插件工具箱 626
27.2.1 開發插件的準備工作 626
27.2.2 羅列插件功能 626
27.2.3 開發代碼編號工具 626
27.2.4 開發代碼美化工具 628
27.2.5 開發代碼導齣工具 630
27.2.6 開發代碼清除工具 632
27.2.7 開發代碼減肥工具 632
27.2.8 編寫菜單 634
27.2.9 發布插件 637
第28章 插件設計 639
28.1 關於加載宏 639
28.1.1 加載宏的特點 639
28.1.2 為什麼使用加載宏 640
28.1.3 加載宏管理器 640
28.1.4 內置加載宏的加載與使用 640
28.1.5 安裝與卸載自定義加載宏 641
28.2 關於加載項 641
28.2.1 加載項的分類 642
28.2.2 加載項的開發方式 642
28.2.3 兩種加載項的安裝方式 642
28.3 準備編寫XLAM加載宏 644
28.3.1 認識Excel工作簿的格式 644
28.3.2 生成加載宏的兩種方法 645
28.3.3 宏轉換成加載宏的技巧 645
28.4 開發公農曆日曆控件 646
28.4.1 確認程序需具備的功能 646
28.4.2 定義公曆轉農曆的函數 646
28.4.3 設計日期輸入器窗體 647
28.4.4 編寫窗體初始化代碼 648
28.4.5 實現輸入器與工作錶交互 650
28.4.6 設計幫助 652
28.4.7 定製菜單 655
28.4.8 測試並發布插件 655
28.5 開發突齣顯示當前行列插件 656
28.5.1 確認所需具備的功能 657
28.5.2 通過xml開發功能區選項卡 657
28.5.3 編寫隨鼠標移動而著色的VBA代碼 658
28.5.4 測試代碼 662
第29章 代碼封裝技巧 664
29.1 封裝基礎 664
29.1.1 代碼封裝的優越性 664
29.1.2 COM加載項開發基礎 664
29.1.3 安裝VB 6.0企業版 665
29.1.4 開發COM加載項的基本步驟 666
29.2 開發並封裝重復值控製器 668
29.2.1 確認插件所需功能 668
29.2.2 建立VB工程 669
29.2.3 添加引用 669
29.2.4 編寫菜單代碼及響應事件 669
28.6.5 編寫重復值控製主程序 670
29.6.6 發布加載項並安裝調試 671
29.3 封裝相同項與不同項的比較工具 672
29.3.1 確認插件所需功能 673
29.3.2 在Excel中創建窗體並調試 673
29.3.3 建立VB工程 674
29.3.4 添加引用 674
29.3.5 生成功能區按鈕與響引事件 674
29.3.6 導入窗體 675
29.3.7 發布加載項並安裝調試 677
29.4 設計安裝軟件 678
29.4.1 設計安裝軟件的必要性 678
29.4.2 程序選擇 678
29.4.3 使用程序嚮導製作安裝軟件 679
29.4.4 自定義高級安裝軟件 682
29.4.5 製作相同項與不同項的高級安裝程序 684
第30章 開發“Excel百寶箱” 687
30.1 程序規劃 687
30.1.1 瞭解終端用戶需求 687
30.1.2 確認插件功能錶 688
30.1.3 規劃插件結構 688
30.2 財務工具箱 689
30.2.1 製作工資條頭 689
30.2.2 根據工資計算所需鈔票張數 692
30.2.3 小寫金額轉大寫 696
30.2.4 工作簿與工作錶閤並 697
30.2.5 工作錶拆分 707
30.2.6 工作簿拆分 711
30.2.7 復選框工具 715
30.2.8 文本與數據轉換 719
30.3 閤並工具箱 720
30.3.1 閤並數據並居中及其還原 721
30.3.2 閤並數據並復製 723
30.3.3 取消區域閤並填充原閤並值 725
30.3.4 可還原的閤並居中 726
30.3.5 閤並列中相同數據及還原 727
30.4 批注工具箱 729
30.4.1 批注管理器 730
30.4.2 添加個性化批注 734
30.4.3 建立圖片批注 735
30.4.4 批量添加右列內容為批注 737
30.4.5 批量導入同名照片到批注 737
30.5 圖片工具箱 740
30.5.1 將選區轉換成圖片 740
30.5.2 批量導入圖片 742
30.5.3 批量導齣圖片到硬盤 745
30.6 開發函數 747
30.6.1 開發自定義函數 747
30.6.2 設計函數幫助 766
30.7 定製百寶箱幫助 769
30.7.1 定製百寶箱幫助 769
30.7.2 信息反饋 775
30.8 定製多級菜單並發布 777
30.8.1 定製菜單 777
30.8.2 發布 778
30.8.3 小結 778
· · · · · · (
收起)