Excel VBA程式開發自學寶典(第2版)

Excel VBA程式開發自學寶典(第2版)

《Excel VBA程式開發自學寶典(第2版)》是2011年8月電子工業出版社出版的圖書,作者是羅剛君。

基本介紹

  • 中文名:Excel VBA程式開發自學寶典(第2版)
  • 作者:羅剛君
  • 出版時間:2011年8月
  • 出版社:電子工業出版社
  • 頁數:712 頁
  • ISBN:9787121141454
  • 定價:79 元
  • 開本:16 開
內容簡介,圖書目錄,

內容簡介

《Excel VBA程式開發自學寶典(第2版)》是VBA入門的經典教材,對VBA的基礎理論、語法規則、代碼最佳化、編寫思路、開發函式與使用數組等都進行了詳盡的理論闡述和案例演示,同時還搭配窗體與控制項、正則表達式、字典、File System Object、API、類模組、腳本語言的套用,以及開發功能區、開發載入宏、封裝代碼等高級套用,力求完整地展示了VBA的功能與魅力。通讀本書,您不僅能學到如何開發函式、編寫程式,還能設計報表系統,獨立開發Excel百寶箱式的大中型外掛程式。
本書是暢銷書《Excel VBA程式開發自學寶典》的升級版本。《Excel VBA程式開發自學寶典》第1版於2009年10月上市,基於Excel 2007版本撰寫,曾多次銷罄重印,並在噹噹網和卓越網連續三個季度居VBA類圖書銷量第一名。然而本著精益求精的原則,作者在售後服務QQ群和售後論壇中收集了大量的用戶反饋信息,對圖書進行改版,刪除了部分實用性不大的內容,增加了正則表達式、字典的套用、開發功能區與封裝代碼等章節,增加了開發外掛程式的案例,全書改用Excel 2010截圖,並修正了第1版中無法兼容Excel 2010的部分代碼與設計思路,促使教學內容更具通用性。
讀者對象:本書適應的讀者對象是完全沒有編程經驗的讀者,它將帶您步入VBA程式殿堂。

圖書目錄

第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.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 禁止使用隨身碟 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

相關詞條

熱門詞條

聯絡我們