原書名: Excel 2010 Power Programming with VBA
原出版社: Wiley
作者: John Walkenbach譯者: 冉豪 崔婕 金太陽
出版社:清華大學出版社
ISBN:9787302274070
上架時間:2012-1-9
出版日期:2012 年1月
開本:16開
頁碼:867
版次:1-1
所屬分類: 計算機
內容簡介
通過學習使用vba,可以使原本已經十分出色的 excel 2010變得更加強大。 “電子表格先生 ”john walkenbach通過清晰易懂的講解告訴你如何掌握 vba。
如果你已經擁有使用excel的豐富經驗,可以藉助《中文版excel 2010高級vba編程寶典》成為一位 excel專家。中文版 excel 2010高級 vba編程寶典》不僅介紹使用 excel的新方法和開發新電子表格應用程式的步驟,還展示如何開發 vba子例程和函式,以及如何使用高級編程技術等。針對從早期版本轉向使用 excel 2010的讀者,《中文版excel 2010高級vba編程寶典》還專門介紹了 excel 2010的新功能,幫助這些讀者迅速上手。
就講解 excel而言,沒有人能與 “電子表格先生 ”比肩。
作譯者
作者: John Walkenbach
John Walkenbach被譽為“電子表格先生”,他是J-Walk and Associates,Inc的老闆,還是一位Microsoft Excel MVP。他是電子表格軟體方面的權威人士,也是獲獎的Power Utility Pak的創建者。他已經編寫了50多本圖書,其中包括Excel 2003 Formulas和Excel 2003 PowerProgramming with VBA,並在PCL world、InfoWord和Windows等出版物上發表了很多文章和評論。
[同作者作品]
Excel 2003公式與函式套用寶典
Excel 2003高級VBA編程寶典
Excel 2007寶典
目錄
《中文版excel 2010高級vba編程寶典》
第i部分 excel基礎知識
第1章 excel 2010的起源 3
1.1 電子表格軟體的簡史 3
1.1.1 最初的起源:VisiCalc 3
1.1.2 lotus 1-2-3 4
1.1.3 quattro pro 6
1.1.4 microsoft excel 7
1.1.5 當前面臨的競爭 11
1.2 excel 對開發人員的重要性 12
1.3 excel在microsoft戰略中的角色 13
第2章 excel概述 15
2.1 關於對象的思考 15
2.2 工作簿 16
2.2.1 工作表 16
2.2.2 圖表工作表 17
2.2.3 xlm宏工作表 18
2.2.4 excel 5/95對話框編輯表 19
2.3 excel的用戶界面 19
2.3.1 功能區的引入 20
.2.3.2 快捷選單和浮動工具列 24
2.3.3 對話框 25
2.3.4 鍵盤快捷鍵 26
2.3.5 智慧型標記 26
2.3.6 任務窗格 27
2.4 自定義螢幕顯示 27
2.5 數據錄入 28
2.6 公式、函式和名稱 28
2.7 選擇對象 29
2.8 格式 30
2.9 保護選項 31
2.9.1 保護公式以防被重寫 31
2.9.2 保護工作簿的結構 32
2.9.3 使用密碼來保護工作簿 32
2.9.4 使用密碼來保護vba代碼 33
2.10 圖表 33
2.11 圖示和smartart 34
2.12 資料庫訪問 35
2.12.1 工作表資料庫 35
2.12.2 外部資料庫 35
2.13 internet特性 36
2.14 分析工具 36
2.15 載入項 37
2.16 宏和編程 38
2.17 檔案格式 38
2.18 excel的幫助系統 38
第3章 公式的使用技巧 41
3.1 公式概述 41
3.2 計算公式 42
3.3 單元格和單元格區域引用 43
3.3.1 為什麼使用不是相對的引用 43
3.3.2 r1c1表示法 44
3.3.3 引用其他的工作表或工作簿 44
3.4 使用名稱 46
3.4.1 命名單元格和單元格區域 46
3.4.2 將名稱套用於現有的引用中 47
3.4.3 交叉名稱 48
3.4.4 命名列和行 48
3.4.5 名稱的作用範圍 48
3.4.6 命名常量 49
3.4.7 命名公式 50
3.4.8 命名對象 51
3.5 公式錯誤 52
3.6 數組公式 53
3.6.1 一個數組公式的示例 53
3.6.2 數組公式日曆 54
3.6.3 數組公式的優缺點 55
3.7 計數和求和技巧 55
3.7.1 計數公式的示例 56
3.7.2 求和公式的示例 56
3.7.3 其他計數工具 57
3.8 使用日期和時間 57
3.8.1 輸入日期和時間 58
3.8.2 使用1900年之前的日期 58
3.9 創建大公式 59
第4章 理解excel的檔案 63
4.1 啟動excel 63
4.2 檔案類型 65
4.2.1 excel檔案格式 65
4.2.2 文本檔案格式 66
4.2.3 資料庫檔案格式 67
4.2.4 其他檔案格式 67
4.3 模板檔案的處理 68
4.3.1 查看模板 68
4.3.2 創建模板 69
4.3.3 創建工作簿模板 71
4.4 excel檔案的內部情況 71
4.4.1 仔細分析一個檔案 72
4.4.2 為什麼檔案格式很重要 74
4.5 officeui檔案 75
4.6 xlb檔案 76
4.7 載入項檔案 76
4.8 excel在註冊表中的設定 77
4.8.1 關於註冊表 77
4.8.2 excel的設定 78
第ii部分 excel應用程式開發
第5章 電子表格應用程式的內涵 83
5.1 電子表格應用程式 83
5.2 開發人員和終端用戶 84
5.2.1 開發人員的定義及其工作 84
5.2.2 電子表格應用程式用戶的分類 85
5.2.3 電子表格應用程式的客戶 86
5.3 用excel解決問題 86
5.4 基本的電子表格應用程式類型 87
5.4.1 快捷但質量不高的電子表格應用程式 88
5.4.2 自己創作、自己使用的電子表格應用程式 88
5.4.3 單用戶電子表格應用程式 88
5.4.4 意大利麵條式電子表格應用程式 89
5.4.5 實用電子表格應用程式 89
5.4.6 包含工作表函式的載入項電子表格 90
5.4.7 單元塊預算式電子表格應用程式 90
5.4.8 假設分析模型式電子表格應用程式 90
5.4.9 數據存儲和訪問電子表格應用程式 91
5.4.10 資料庫前端電子表格應用程式 91
5.4.11 統包式電子表格應用程式 91
第6章 電子表格應用程式開發的基礎 93
6.1 應用程式的開發步驟 93
6.2 確定用戶需求 94
6.3 規劃滿足用戶需求的應用程式 94
6.4 確定最合適的用戶界面 97
6.4.1 創建自定義的功能區 98
6.4.2 創建自定義的快捷選單 98
6.4.3 創建快捷鍵 99
6.4.4 創建自定義對話框 99
6.4.5 在工作表上使用activex控制項 100
6.4.6 執行開發的成果 101
6.5 關心終端用戶 101
6.5.1 測試應用程式 101
6.5.2 儘量完善應用程式的安全性 103
6.5.3 讓應用程式變得美觀和直觀 104
6.5.4 創建用戶幫助系統 105
6.5.5 將開發工作進行歸檔 106
6.5.6 將電子表格應用程式分發給用戶 106
6.5.7 在需要的時候更新電子表格應用程式 107
6.6 其他開發問題 107
6.6.1 用戶安裝的excel版本 107
6.6.2 語言問題 108
6.6.3 系統速度 108
6.6.4 視頻模式 108
第iii部分 理 解 vba
第7章 vba概述 113
7.1 basic的一些基本背景 113
7.2 關於vba 114
7.2.1 對象模型 114
7.2.2 vba與xlm的對比 114
7.3 vba的基礎知識 115
7.4 visual basic編輯器概述 118
7.4.1 顯示excel的“開發工具”選項卡 118
7.4.2 激活vbe 118
7.4.3 vbe視窗 119
7.5 使用“工程資源管理器”視窗 120
7.5.1 添加新的vba模組 121
7.5.2 移除vba模組 121
7.5.3 導出和導入對象 121
7.6 使用“代碼”視窗 122
7.6.1 視窗的最小化和最大化 122
7.6.2 vba代碼的存儲 123
7.6.3 vba代碼的輸入 123
7.7 vbe環境的定製 129
7.7.1 使用“編輯器”選項卡 129
7.7.2 使用“編輯器格式”選項卡 132
7.7.3 使用“通用”選項卡 133
7.7.4 使用“可連線的”選項卡 134
7.8 宏錄製器 134
7.8.1 宏錄製器實際記錄哪些內容 135
7.8.2 相對模式還是絕對模式 136
7.8.3 選項的錄製 138
7.8.4 清理己錄製的宏 139
7.9 關於對象和集合 141
7.9.1 對象層次結構 141
7.9.2 關於集合 141
7.9.3 對象的引用 142
7.10 屬性和方法 143
7.10.1 對象的屬性 143
7.10.2 對象的方法 144
7.11 comment對象示例 146
7.11.1 查看有關comment對象的幫助 146
7.11.2 comment對象的屬性 147
7.11.3 comment對象的方法 147
7.11.4 comments集合 147
7.11.5 關於comment屬性 148
7.11.6 comment對象中的對象 149
7.11.7 確定單元格中是否含有comment對象 150
7.11.8 添加新的comment對象 150
7.12 一些有用的應用程式屬性 151
7.13 range對象的使用 152
7.13.1 range屬性 153
7.13.2 cells屬性 155
7.13.3 offset屬性 157
7.14 關於對象的更多信息 158
7.14.1 需要牢記的基本概念 158
7.14.2 學習有關對象和屬性的更多信息 159
第8章 vba編程基礎 163
8.1 vba語言元素概覽 163
8.2 注釋 165
8.3 變數、數據類型和常量 166
8.3.1 數據類型的定義 167
8.3.2 聲明變數 169
8.3.3 變數的作用域 172
8.3.4 常量的使用 175
8.3.5 字元串的使用 177
8.3.6 日期的使用 177
8.4 賦值語句 178
8.5 數組 181
8.5.1 數組的聲明 181
8.5.2 多維數組的聲明 181
8.5.3 動態數組的聲明 182
8.6 對象變數 182
8.7 用戶自定義數據類型 183
8.8 內置函式 184
8.9 對象和集合的處理 187
8.9.1 with-end with結構 187
8.9.2 for each-next結構 188
8.10 代碼執行的控制 189
8.10.1 goto語句 190
8.10.2 if-then結構 190
8.10.3 Select Case結構 194
8.10.4 指令塊的循環 197
第9章 vba的Sub過程 205
9.1 關於過程 205
9.1.1 sub過程的聲明 206
9.1.2 過程的作用域 207
9.2 執行sub過程 208
9.2.1 通過“運行子過程/用戶窗體”命令執行過程 208
9.2.2 從“宏”對話框執行過程 208
9.2.3 用ctrl+快捷鍵組合執行過程 209
9.2.4 從功能區執行過程 210
9.2.5 從自定義快捷選單中執行過程 210
9.2.6 從另一個過程中執行過程 211
9.2.7 通過單擊對象執行過程 215
9.2.8 在事件發生時執行過程 216
9.2.9 從“立即視窗”執行過程 216
9.3 向過程中傳遞參數 217
9.4 錯誤處理技術 220
9.4.1 捕獲錯誤 220
9.4.2 錯誤處理示例 222
9.5 使用sub過程的實際示例 224
9.5.1 目標 225
9.5.2 工程需求 225
9.5.3 已經了解的信息 225
9.5.4 解決方法 226
9.5.5 需要了解哪些信息 226
9.5.6 初步的錄製工作 226
9.5.7 初始設定 228
9.5.8 代碼的編寫 228
9.5.9 排序過程的編寫 229
9.5.10 更多的測試 233
9.5.11 修復問題 233
9.5.12 實用程式的可用性 237
9.5.13 對工程進行評估 237
第10章 創建Function過程 239
10.1 sub過程與function過程的比較 239
10.2 為什麼創建自定義的函式 240
10.3 介紹性的函式示例 240
10.3.1 在工作表中使用函式 241
10.3.2 在vba過程中使用函式 241
10.3.3 分析自定義函式 242
10.4 function過程 244
10.4.1 函式的作用域 245
10.4.2 執行function過程 245
10.5 function過程的參數 248
10.6 函式示例 249
10.6.1 無參數的函式 249
10.6.2 帶有一個參數的函式 251
10.6.3 帶有兩個參數的函式 254
10.6.4 使用數組作為參數的函式 255
10.6.5 帶有可選參數的函式 256
10.6.6 返回vba數組的函式 257
10.6.7 返回錯誤值的函式 260
10.6.8 帶有不定數量參數的函式 261
10.7 模擬excel的SUM函式 262
10.8 擴展的日期函式 265
10.9 函式的調試 267
10.10 使用“插入函式”對話框 268
10.10.1 使用macrooptions方法 269
10.10.2 指定函式類別 270
10.10.3 手動添加函式說明 271
10.11 使用載入項存儲自定義的函式 272
10.12 使用windows api 273
10.12.1 windows api示例 273
10.12.2 確定windows目錄 274
10.12.3 檢測shift鍵 275
10.12.4 了解更多有關api函式的信息 275
第11章 vba編程示例和技巧 277
11.1 通過示例學習 277
11.2 處理單元格區域 278
11.2.1 複製單元格區域 278
11.2.2 移動單元格區域 279
11.2.3 複製大小可變的單元格區域 279
11.2.4 選中或者識別各種類型的單元格區域 281
11.2.5 提示輸入單元格中的值 282
11.2.6 在下一個空單元格中輸入一個值 284
11.2.7 暫停宏的運行以便獲得用戶選中的單元格區域 285
11.2.8 計算選中的單元格的數目 286
11.2.9 確定選中的單元格區域的類型 287
11.2.10 有效地循環遍歷選中的單元格區域 289
11.2.11 刪除所有空行 292
11.2.12 任意次數地複製行 292
11.2.13 確定單元格區域是否包含在另一個單元格區域內 294
11.2.14 確定單元格的數據類型 294
11.2.15 讀寫單元格區域 295
11.2.16 在單元格區域中寫入值的更好方法 296
11.2.17 傳遞一維數組中的內容 298
11.2.18 將單元格區域傳遞給variant類型的數組 299
11.2.19 按數值選擇單元格 299
11.2.20 複製非連續的單元格區域 301
11.3 處理工作簿和工作表 302
11.3.1 保存所有工作簿 302
11.3.2 保存和關閉所有工作簿 303
11.3.3 隱藏除選區之外的區域 303
11.3.4 同步工作表 304
11.4 vba技巧 305
11.4.1 切換布爾類型的屬性值 305
11.4.2 確定列印頁面的數量 306
11.4.3 顯示日期和時間 307
11.4.4 獲得字型列表 308
11.4.5 對數組進行排序 309
11.4.6 處理一系列檔案 311
11.5 使用在代碼中的一些有用的函式 312
11.5.1 FileExists函式 313
11.5.2 filenameonly函式 313
11.5.3 pathexists函式 313
11.5.4 rangenameexists函式 314
11.5.5 sheetexists函式 315
11.5.6 workbookisopen函式 315
11.5.7 檢索已經關閉的工作簿中的值 315
11.6 一些有用的工作表函式 317
11.6.1 返回單元格的格式信息 317
11.6.2 會說話的工作表 318
11.6.3 顯示在保存或列印檔案時的時間 319
11.6.4 理解對象的父對象 320
11.6.5 計算介於兩個值之間的單元格數目 321
11.6.6 確定行或列中最後一個非空的單元格 321
11.6.7 字元串與模式匹配 323
11.6.8 從字元串中提取第n個元素 324
11.6.9 拼寫出數字 325
11.6.10 多功能的函式 325
11.6.11 sheetoffset函式 326
11.6.12 返回所有工作表中數據的最大值 327
11.6.13 返回沒有重複的隨機整數元素的數組 328
11.6.14 隨機化單元格區域 329
11.7 windows api調用 331
11.7.1 確定檔案的關聯性 331
11.7.2 確定磁碟驅動器信息 332
11.7.3 確定默認印表機的信息 332
11.7.4 確定視頻顯示器的信息 333
11.7.5 為應用程式添加聲音 334
11.7.6 讀寫註冊表 336
第iv部分 用 戶 窗 體
第12章 多種自定義對話框的方法 341
12.1 創建用戶窗體之前需要了解的內容 341
12.2 使用輸入框 341
12.2.1 vba的inputbox函式 341
12.2.2 excel的inputbox方法 343
12.3 vba的msgbox函式 346
12.4 excel的GetOpenFileName方法 349
12.5 excel的getsaveasfilename方法 353
12.6 提示輸入目錄名稱 353
12.7 顯示excel的內置對話框 354
12.8 顯示數據記錄單 356
12.8.1 使得數據記錄單變得可以訪問 356
12.8.2 通過使用vba來顯示數據記錄單 357
第13章 用戶窗體概述 359
13.1 excel如何處理自定義對話框 359
13.2 插入新的用戶窗體 360
13.3 向用戶窗體中添加控制項 360
13.4 “工具箱”中的控制項 361
13.4.1 複選框 362
13.4.2 組合框 362
13.4.3 命令按鈕 362
13.4.4 框架 362
13.4.5 圖像 362
13.4.6 標籤 363
13.4.7 列表框 363
13.4.8 多頁 363
13.4.9 選項按鈕 363
13.4.10 refedit 363
13.4.11 滾動條 363
13.4.12 數值調節鈕 363
13.4.13 tabstrip 364
13.4.14 文本框 364
13.4.15 切換按鈕 364
13.5 調整用戶窗體的控制項 365
13.6 調整控制項的屬性 366
13.6.1 使用“屬性”視窗 366
13.6.2 共同屬性 367
13.6.3 滿足鍵盤用戶的需求 368
13.7 顯示用戶窗體 370
13.7.1 顯示無模式的用戶窗體 370
13.7.2 顯示基於變數的用戶窗體 370
13.7.3 載入用戶窗體 371
13.7.4 關於事件處理程式 371
13.8 關閉用戶窗體 371
13.9 創建用戶窗體的示例 372
13.9.1 創建用戶窗體 373
13.9.2 編寫代碼顯示對話框 375
13.9.3 測試對話框 376
13.9.4 添加事件處理程式 376
13.9.5 驗證數據的有效性 377
13.9.6 完成的對話框作品 378
13.10 理解用戶窗體的事件 378
13.10.1 了解事件 378
13.10.2 用戶窗體的事件 379
13.10.3 數值調節鈕的事件 380
13.10.4 數值調節鈕與文本框配套使用 381
13.11 引用用戶窗體的控制項 383
13.12 自定義“工具箱” 384
13.12.1 在“工具箱”中添加新頁 385
13.12.2 自定義或組合控制項 385
13.12.3 添加新的activex控制項 386
13.13 創建用戶窗體的模板 387
13.14 用戶窗體檢驗表 387
第14章 用戶窗體示例 389
14.1 創建用戶窗體式選單 389
14.1.1 在用戶窗體中使用命令按鈕 389
14.1.2 在用戶窗體中使用列表框 390
14.2 從用戶窗體選中單元格區域 391
14.3 創建歡迎界面 393
14.4 禁用用戶窗體的關閉按鈕 395
14.5 改變用戶窗體的大小 396
14.6 從用戶窗體中縮放和滾動工作表 397
14.7 列表框技巧 399
14.7.1 向列表框控制項中添加條目 400
14.7.2 確定選中的條目 404
14.7.3 確定選中的列表框中的多個條目 404
14.7.4 單個列表框中的多個列表 405
14.7.5 列表框條目的轉移 406
14.7.6 在列表框中移動條目 407
14.7.7 使用多列的列表框控制項 409
14.7.8 使用列表框選中工作表中的行 411
14.7.9 使用列表框激活工作表 413
14.8 在用戶窗體中使用多頁控制項 415
14.9 使用外部控制項 416
14.10 使標籤動畫化 418
第15章 用戶窗體的高級技巧 423
15.1 無模式對話框 423
15.2 顯示進度條 427
15.2.1 創建獨立的進度條 428
15.2.2 使用多頁控制項顯示進度條 431
15.2.3 在不使用多頁控制項的情況下顯示進度條 433
15.3 創建嚮導 434
15.3.1 為嚮導設定多頁控制項 435
15.3.2 向嚮導用戶窗體中添加按鈕 436
15.3.3 編寫嚮導按鈕的程式 436
15.3.4 編寫嚮導中的相關代碼 437
15.3.5 使用嚮導執行任務 439
15.4 模仿msgbox函式 440
15.4.1 模仿msgbox函式:mymsgbox函式的代碼 441
15.4.2 mymsgbox函式的工作原理 442
15.4.3 使用mymsgbox函式 443
15.5 帶有可移動控制項的用戶窗體 443
15.6 沒有標題欄的用戶窗體 445
15.7 使用用戶窗體模擬工具列 446
15.8 可調整大小的用戶窗體 448
15.9 用一個事件處理程式處理多個用戶窗體控制項 452
15.10 在用戶窗體中選擇顏色 454
15.11 在用戶窗體中顯示圖表 456
15.11.1 將圖表保存為gif檔案 457
15.11.2 更改圖像控制項的picture屬性 457
15.12 使用戶窗體半透明 458
15.13 增強型數據記錄單 459
15.13.1 關於enhanced data form載入項 460
15.13.2 安裝enhanced data form載入項 461
15.14 用戶窗體上的數字推盤 462
15.15 用戶窗體上的電動撲克 462
第v部分 高級編程技巧
第16章 用vba開發excel實用程式 467
16.1 關於excel實用程式 467
16.2 使用vba開發實用程式 468
16.3 如何開發好的實用程式 468
16.4 text tools:實用程式剖析 469
16.4.1 text tools的背景 470
16.4.2 text tools的工程目標 470
16.4.3 text tools工作簿 470
16.4.4 text tools實用程式的工作原理 471
16.4.5 text tools實用程式的用戶窗體 471
16.4.6 module1 vba模組 473
16.4.7 userform1代碼模組 474
16.4.8 提高text tools實用程式的效率 476
16.4.9 保存text tools實用程式的設定 477
16.4.10 實現撤消 478
16.4.11 顯示幫助檔案 481
16.4.12 添加ribbonx代碼 481
16.4.13 工程驗收 483
16.4.14 理解text tools實用程式 483
16.5 獲取更多關於excel實用程式的知識 483
第17章 使用數據透視表 485
17.1 介紹性數據透視表示例 485
17.1.1 創建數據透視表 486
17.1.2 檢查錄製的數據透視表代碼 488
17.1.3 整理錄製的數據透視表代碼 488
17.2 創建更為複雜的數據透視表 490
17.2.1 創建數據透視表的代碼 491
17.2.2 更為複雜的數據透視表的工作原理 492
17.3 創建多個數據透視表 494
17.4 創建轉換的數據透視表 497
第18章 使用圖表 501
18.1 關於圖表 501
18.1.1 圖表的位置 501
18.1.2 宏錄製器和圖表 502
18.1.3 chart對象模型 502
18.2 創建嵌入式圖表 504
18.3 在圖表工作表上創建圖表 505
18.4 使用vba激活圖表 506
18.5 圖表的移動 507
18.6 使用vba使圖表取消激活 508
18.7 確定圖表是否被激活 508
18.8 從chartobjects或charts集合中刪除圖表 509
18.9 循環遍歷所有圖表 510
18.10 調整chartobjects對象的大小並對齊 512
18.11 導出圖表 514
18.12 修改圖表中使用的數據 515
18.12.1 基於活動單元格修改圖表數據 516
18.12.2 用vba確定圖表中使用的單元格區域 518
18.13 使用vba在圖表上顯示任意數據標籤 521
18.14 在用戶窗體中顯示圖表 523
18.15 理解圖表事件 525
18.15.1 使用圖表事件的一個示例 526
18.15.2 為嵌入式圖表啟用事件 528
18.15.3 示例:在嵌入式圖表上使用chart事件 529
18.16 vba製圖技巧 531
18.16.1 在整個頁面上列印嵌入式圖表 532
18.16.2 通過隱藏列來隱藏序列 532
18.16.3 創建未連結的圖表 533
18.16.4 用mouseover事件顯示文本 535
18.17 圖表動畫 537
18.17.1 滾動圖表 538
18.17.2 創建一個內擺線圖表 539
18.17.3 創建一個“時鐘”圖表 540
18.18 在不使用vba的情況下創建一個互動式圖表 542
18.18.1 獲取數據來創建一個互動式圖表 543
18.18.2 為互動式工作表創建選項按鈕控制項 543
18.18.3 為互動式圖表創建城市列表 543
18.18.4 創建互動式圖表的數據單元格區域 544
18.18.5 創建互動式圖表 545
18.19 使用迷你圖 545
第19章 理解excel的事件 549
19.1 excel可以監視的事件類型 549
19.1.1 理解事件發生的順序 550
19.1.2 事件處理程式存放的位置 550
19.1.3 禁用事件 551
19.1.4 輸入事件處理代碼 552
19.1.5 使用參數的事件處理程式 553
19.2 工作簿級別的事件 555
19.2.1 open事件 556
19.2.2 activate事件 557
19.2.3 sheetactivate事件 557
19.2.4 newsheet事件 557
19.2.5 beforesave事件 557
19.2.6 deactivate事件 558
19.2.7 beforeprint事件 558
19.2.8 beforeclose事件 560
19.3 檢查工作表事件 561
19.3.1 Change事件 562
19.3.2 監視特定單元格區域的修改 563
19.3.3 selectionchange事件 567
19.3.4 beforedoubleclick事件 568
19.3.5 beforerightclick事件 569
19.4 檢查圖表事件 569
19.5 監視應用程式事件 571
19.5.1 啟用應用程式級別的事件 572
19.5.2 確定工作簿何時被打開 572
19.5.3 監視應用程式級別的事件 573
19.6 使用用戶窗體事件 575
19.7 訪問與對象無關聯的事件 576
19.7.1 ontime事件 576
19.7.2 onkey事件 577
第20章 與其他應用程式的互動 583
20.1 從excel中啟動應用程式 583
20.1.1 使用vba的shell函式 583
20.1.2 使用windows的ShellExecute api函式 585
20.2 用excel激活應用程式 587
20.2.1 使用AppActivate語句 587
20.2.2 激活一個microsoft office應用程式 587
20.3 運行“控制臺”對話框 588
20.4 在excel中使用自動化 589
20.4.1 通過使用自動化來使用外部對象 590
20.4.2 前期綁定與後期綁定 590
20.4.3 後期綁定的一個示例 592
20.4.4 從excel中控制word 593
20.4.5 從其他應用程式中控制excel 596
20.5 通過outlook傳送個性化的電子郵件 598
20.6 從excel中傳送電子郵件附屬檔案 601
20.7 使用SendKeys 603
第21章 創建和使用載入項 605
21.1 什麼是載入項 605
21.1.1 載入項與標準工作簿的比較 605
21.1.2 創建載入項的原因 606
21.2 理解excel的載入項管理器 607
21.3 創建載入項 608
21.4 載入項示例 610
21.4.1 為載入項示例添加描述信息 611
21.4.2 創建載入項 611
21.4.3 安裝載入項 611
21.4.4 測試載入項 613
21.4.5 發布載入項 613
21.4.6 修改載入項 613
21.5 比較xlam和xlsm檔案 614
21.5.1 xlam檔案中的vba集合成員 614
21.5.2 xlsm和xlam檔案的可見性 615
21.5.3 xlsm和xlam檔案的工作表和圖表工作表 615
21.5.4 訪問載入項中的vba過程 616
21.6 用vba操作載入項 619
21.6.1 addin對象屬性 621
21.6.2 作為工作簿訪問載入項 623
21.6.3 addin對象事件 624
21.7 最佳化載入項的性能 624
21.8 載入項的特殊問題 625
21.8.1 確保載入項已經安裝 625
21.8.2 從載入項中引用其他檔案 627
21.8.3 為載入項檢測適用的excel版本 627
第vi部分 開發應用程式
第22章 使用功能區 631
22.1 功能區基礎 631
22.2 vba和功能區 634
22.2.1 訪問功能區控制項 635
22.2.2 使用功能區 636
22.2.3 激活選項卡 638
22.3 定製功能區 639
22.3.1 ribbonx的一個簡單示例 639
22.3.2 功能區的一個簡單示例(修改版) 642
22.3.3 ribbonx的另一個示例 645
22.3.4 功能區控制項演示 648
22.3.5 dynamicmenu控制項示例 654
22.3.6 更多關於功能區定製的內容 656
22.4 創建老式工具列 658
22.4.1 excel 2010老式工具列的局限性 658
22.4.2 創建工具列的代碼 658
第23章 使用快捷選單 661
23.1 命令欄簡介 661
23.1.1 命令欄的類型 661
23.1.2 列出快捷選單 662
23.1.3 引用命令欄 662
23.1.4 引用命令欄中的控制項 663
23.1.5 命令欄控制項的屬性 664
23.1.6 顯示所有的快捷選單項 664
23.2 使用vba定製快捷選單 667
23.2.1 重置快捷選單 667
23.2.2 禁用快捷選單 668
23.2.3 禁用快捷選單項 668
23.2.4 向“單元格”快捷選單中添加一個新項 668
23.2.5 向快捷選單中添加一個子選單 670
23.3 快捷選單與事件 672
23.3.1 自動添加和刪除選單 673
23.3.2 禁用或隱藏快捷選單項 674
23.3.3 創建一個上下文相關的快捷選單 674
第24章 為應用程式提供幫助 677
24.1 excel應用程式的“幫助” 677
24.2 使用excel組件的幫助系統 679
24.2.1 為幫助系統使用單元格批註 680
24.2.2 為幫助系統使用文本框 681
24.2.3 使用工作表來顯示幫助文本 682
24.2.4 在用戶窗體中顯示幫助 683
24.3 在web瀏覽器中顯示“幫助” 686
24.3.1 使用html檔案 686
24.3.2 使用一個MHTML檔案 687
24.4 使用html幫助系統 688
24.5 將“幫助”檔案與應用程式相關聯 691
第25章 開發面向用戶的應用程式 693
25.1 什麼是面向用戶的應用程式 693
25.2 loan amortization wizard 693
25.2.1 使用load amortization wizard 694
25.2.2 load amortization wizard的工作簿結構 695
25.2.3 load amortization wizard的工作原理 696
25.2.4 可以增強load amortization wizard的地方 702
25.3 應用程式開發概念 702
第vii部分 其 他 主 題
第26章 兼容性問題 707
26.1 什麼是兼容性 707
26.2 兼容性問題的類型 707
26.3 避免使用新功能 709
26.4 在mac機器上是否可用 710
26.5 處理64位excel 711
26.6 創建一個國際化的應用程式 712
26.6.1 多語言應用程式 713
26.6.2 vba語言的考慮 714
26.6.3 使用本地屬性 714
26.6.4 系統設定識別 715
26.6.5 日期和時間設定 717
第27章 用vba處理檔案 719
27.1 執行常見的檔案操作 719
27.1.1 使用與vba檔案相關的指令 720
27.1.2 使用FileSystemObject對象 724
27.2 顯示擴展檔案信息 727
27.3 文本檔案的處理 729
27.3.1 打開文本檔案 730
27.3.2 讀取文本檔案 730
27.3.3 編寫文本檔案 731
27.3.4 獲取檔案序號 731
27.3.5 確定或設定檔案位置 731
27.3.6 讀寫語句 731
27.4 文本檔案操作示例 732
27.4.1 導入文本檔案中的數據 732
27.4.2 將單元格區域的數據導出到文本檔案中 733
27.4.3 將文本檔案的內容導入到單元格區域中 735
27.4.4 記錄excel日誌的用法 736
27.4.5 篩選文本檔案 737
27.4.6 導出單元格區域的數據為html格式 737
27.4.7 導出單元格區域到xml檔案 740
27.5 壓縮和解壓縮檔案 742
27.5.1 壓縮檔案 743
27.5.2 解壓縮檔案 744
27.6 使用ado 745
第28章 使用visual basic組件 749
28.1 ide簡介 749
28.2 ide對象模型 751
28.3 顯示vba工程中的所有組件 753
28.4 列出工作簿中的所有vba過程 755
28.5 用更新版本替換模組 756
28.6 使用vba編寫vba代碼 758
28.7 在設計時向用戶窗體中添加控制項 760
28.7.1 設計時與運行時的用戶窗體操作對比 760
28.7.2 在設計時添加100個命令按鈕 761
28.8 通過編程創建用戶窗體 763
28.8.1 一個簡單的運行時用戶窗體示例 763
28.8.2 一個有用(但是不簡單)的動態用戶窗體示例 764
第29章 理解類模組 771
29.1 什麼是類模組 771
29.2 示例:創建numlock類 772
29.2.1 插入類模組 772
29.2.2 給類模組添加vba代碼 773
29.2.3 使用numlockclass類 775
29.3 更多有關類模組的信息 776
29.3.1 對象屬性編程 776
29.3.2 對象的方法編程 778
29.3.3 類模組事件 778
29.4 示例:csv檔案類 779
29.4.1 csvfileclass的類模組級變數 779
29.4.2 csvfileclass的屬性過程 779
29.4.3 csvfileclass的方法過程 780
29.4.4 使用csvfileclass對象 781
第30章 使用顏色 785
30.1 指定顏色 785
30.1.1 rgb顏色系統 786
30.1.2 HSL顏色系統 786
30.1.3 轉換顏色 787
30.2 理解灰度模式 789
30.2.1 將彩色轉換為灰色 790
30.2.2 以灰度模式瀏覽圖表 791
30.3 顏色實驗 792
30.4 理解文檔主題 793
30.4.1 關於文檔主題 793
30.4.2 理解文檔主題顏色 794
30.4.3 顯示所有的主題顏色 796
30.5 使用shape對象 798
30.5.1 圖示的背景色 799
30.5.2 圖示和主題顏色 801
30.5.3 圖示示例 802
30.6 修改圖表顏色 803
第31章 有關excel編程的常見問題 807
31.1 獲得關於faq的信息 807
31.2 excel的一般問題 808
31.3 vbe 812
31.4 過程 814
31.5 函式 818
31.6 對象、屬性、方法和事件 821
31.7 用戶窗體 829
31.8 載入項 833
31.9 用戶界面 835
第viii部分 附 錄
附錄a excel線上資源 839
附錄b vba語句和函式引用 845
附錄c vba錯誤代碼 853
附錄d 本書的下載檔案包中的內容 857