第Ⅰ部分 Excel基礎知識
第1章 Excel概述 3
1.1 關於Excel 3
1.2 關於對象的思考 3
1.3 工作簿 4
1.3.1 工作錶 4
1.3.2 圖錶工作錶 5
1.3.3 XLM宏工作錶 6
1.3.4 Excel 5/95對話框編輯錶 7
1.4 Excel的用戶界麵 7
1.4.1 關於功能區 8
1.4.2 快捷菜單和浮動工具欄 13
1.4.3 對話框 14
1.4.4 任務窗格 15
1.4.5 鍵盤快捷鍵 16
1.5 數據錄入 16
1.6 公式、函數和名稱 16
1.7 選擇對象 19
1.8 格式 19
1.9 保護選項 20
1.9.1 保護公式以防被重寫 20
1.9.2 保護工作簿的結構 21
1.9.3 使用密碼來保護工作簿 21
1.9.4 使用密碼來保護VBA代碼 22
1.10 圖錶 23
1.11 形狀和SmartArt 23
1.12 數據庫訪問 24
1.12.1 工作錶數據庫 24
1.12.2 外部數據庫 25
1.13 Internet特性 25
1.14 分析工具 26
1.15 加載項 27
1.16 宏和編程 27
1.17 文件格式 28
1.18 Excel的幫助係統 28
第2章 公式的使用技巧 29
2.1 公式概述 29
2.2 計算公式 30
2.3 單元格引用和單元格區域引用 31
2.3.1 為什麼使用的不是相對引用 31
2.3.2 R1C1錶示法 32
2.3.3 引用其他工作錶或工作簿 32
2.4 使用名稱 34
2.4.1 命名單元格和單元格區域 34
2.4.2 將名稱應用於現有的引用中 35
2.4.3 交叉名稱 36
2.4.4 命名列和行 36
2.4.5 名稱的作用範圍 36
2.4.6 命名常量 37
2.4.7 命名公式 38
2.4.8 命名對象 40
2.5 公式錯誤 40
2.6 Excel審核工具 41
2.6.1 識彆特定類型的單元格 41
2.6.2 查看公式 42
2.6.3 追蹤單元格關係 44
2.6.4 追蹤錯誤值 45
2.6.5 修正循環引用錯誤 46
2.6.6 使用後颱錯誤檢查功能 46
2.6.7 使用Excel的公式求值 47
2.7 數組公式 48
2.7.1 數組公式的一個示例 49
2.7.2 數組公式日曆 50
2.7.3 數組公式的優缺點 51
2.8 計數和求和技巧 51
2.8.1 計數公式的示例 52
2.8.2 求和公式示例 52
2.8.3 其他計數工具 53
2.9 查找公式 53
2.10 使用日期和時間 55
2.10.1 輸入日期和時間 56
2.10.2 使用1900年之前的日期 56
2.11 創建大公式 57
第3章 理解Excel的文件 61
3.1 啓動Excel 61
3.2 文件類型 62
3.2.1 Excel文件格式 62
3.2.2 文本文件格式 63
3.2.3 數據庫文件格式 64
3.2.4 其他文件格式 64
3.3 Excel文件兼容性 65
3.4 受保護的視圖 66
3.5 使用自動恢復 67
3.5.1 恢復當前工作簿的各個版本 67
3.5.2 恢復未保存的工作 67
3.5.3 配置自動恢復 67
3.6 模闆文件的處理 68
3.6.1 查看模闆 68
3.6.2 創建模闆 68
3.6.3 創建工作簿模闆 69
3.7 Excel文件的內部情況 70
3.7.1 仔細分析一個文件 70
3.7.2 為什麼文件格式很重要 73
3.8 OfficeUI文件 74
3.9 XLB文件 75
3.10 加載項文件 75
3.11 Excel在注冊錶中的設置 76
3.11.1 關於注冊錶 76
3.11.2 Excel的設置 77
第4章 電子錶格應用程序開發的基礎知識 79
4.1 什麼是電子錶格應用程序 79
4.2 電子錶格應用程序的開發步驟 80
4.3 確定用戶需求 80
4.4 規劃滿足用戶需求的應用程序 81
4.5 確定最閤適的用戶界麵 83
4.5.1 創建自定義功能區 83
4.5.2 創建自定義快捷菜單 83
4.5.3 創建快捷鍵 84
4.5.4 創建自定義對話框 84
4.5.5 在工作錶上使用ActiveX控件 85
4.5.6 執行開發的成果 87
4.6 關心終端用戶 87
4.6.1 測試應用程序 87
4.6.2 盡量完善應用程序的安全性 89
4.6.3 讓應用程序變得時尚且直觀 90
4.6.4 創建用戶幫助係統 91
4.6.5 將開發工作進行歸檔 92
4.6.6 將電子錶格應用程序分發給用戶 92
4.6.7 在需要的時候更新電子錶格應用程序 92
4.7 其他開發問題 93
4.7.1 用戶安裝的Excel版本 93
4.7.2 語言問題 93
4.7.3 係統速度 93
4.7.4 視頻模式 94
第Ⅱ部分 理 解 VBA
第5章 VBA概述 97
5.1 BASIC的一些基本背景 97
5.2 關於VBA 98
5.2.1 對象模型 98
5.2.2 VBA與XLM的對比 98
5.3 VBA的基礎知識 99
5.4 Visual Basic編輯器概述 101
5.4.1 顯示Excel的“開發工具”選項卡 102
5.4.2 激活VBE 102
5.4.3 VBE窗口 103
5.5 使用“工程資源管理器”窗口 103
5.5.1 添加新的VBA模塊 105
5.5.2 移除VBA模塊 105
5.5.3 導齣和導入對象 105
5.6 使用“代碼”窗口 105
5.6.1 窗口的最小化和最大化 106
5.6.2 VBA代碼的存儲 106
5.6.3 VBA代碼的輸入 107
5.7 VBE環境的定製 112
5.7.1 使用“編輯器”選項卡 113
5.7.2 使用“編輯器格式”選項卡 116
5.7.3 使用“通用”選項卡 116
5.7.4 使用“可連接的”選項卡 118
5.8 宏錄製器 118
5.8.1 宏錄製器實際記錄哪些內容 119
5.8.2 相對模式還是絕對模式 120
5.8.3 選項的錄製 122
5.8.4 清理己錄製的宏 123
5.9 關於對象和集閤 125
5.9.1 對象層次結構 125
5.9.2 關於集閤 125
5.9.3 對象的引用 126
5.10 屬性和方法 127
5.10.1 對象的屬性 127
5.10.2 對象的方法 128
5.11 Comment對象示例 129
5.11.1 查看有關Comment對象的幫助 129
5.11.2 Comment對象的屬性 131
5.11.3 Comment對象的方法 131
5.11.4 Comments集閤 132
5.11.5 關於Comment屬性 133
5.11.6 Comment對象中的對象 133
5.11.7 確定單元格中是否含有Comment對象 134
5.11.8 添加新的Comment對象 135
5.12 一些有用的應用程序屬性 135
5.13 Range對象的使用 137
5.13.1 Range屬性 137
5.13.2 Cells屬性 139
5.13.3 Offset屬性 141
5.14 關於對象的更多信息 142
5.14.1 需要牢記的基本概念 142
5.14.2 學習有關對象和屬性的更多信息 143
第6章 VBA編程基礎 147
6.1 VBA語言元素概覽 147
6.2 注釋 149
6.3 變量、數據類型和常量 150
6.3.1 數據類型的定義 151
6.3.2 聲明變量 153
6.3.3 變量的作用域 155
6.3.4 常量的使用 159
6.3.5 字符串的使用 160
6.3.6 日期的使用 161
6.4 賦值語句 162
6.5 數組 164
6.5.1 數組的聲明 164
6.5.2 多維數組的聲明 164
6.5.3 動態數組的聲明 165
6.6 對象變量 165
6.7 用戶自定義數據類型 166
6.8 內置函數 167
6.9 對象和集閤的處理 170
6.9.1 With-End With結構 170
6.9.2 For Each-Next結構 171
6.10 代碼執行的控製 173
6.10.1 GoTo語句 173
6.10.2 If-Then結構 174
6.10.3 Select Case結構 177
6.10.4 指令塊的循環 181
第7章 VBA的Sub過程 189
7.1 關於過程 189
7.1.1 Sub過程的聲明 190
7.1.2 過程的作用域 190
7.2 執行Sub過程 191
7.2.1 通過“運行子過程/用戶窗體”命令執行過程 192
7.2.2 從“宏”對話框執行過程 192
7.2.3 用Ctrl+快捷鍵組閤執行過程 193
7.2.4 從功能區執行過程 194
7.2.5 從自定義快捷菜單中執行過程 194
7.2.6 從另一個過程中執行過程 195
7.2.7 通過單擊對象執行過程 198
7.2.8 在事件發生時執行過程 199
7.2.9 從“立即窗口”執行過程 200
7.3 嚮過程中傳遞參數 201
7.4 錯誤處理技術 204
7.4.1 捕獲錯誤 204
7.4.2 錯誤處理示例 205
7.5 使用Sub過程的實際示例 208
7.5.1 目標 208
7.5.2 工程需求 208
7.5.3 已經瞭解的信息 209
7.5.4 解決方法 209
7.5.5 需要瞭解哪些信息 210
7.5.6 初步的錄製工作 210
7.5.7 初始設置 211
7.5.8 代碼的編寫 212
7.5.9 排序過程的編寫 213
7.5.10 更多的測試 217
7.5.11 修復問題 217
7.5.12 實用程序的可用性 221
7.5.13 對工程進行評估 222
第8章 創建Function過程 223
8.1 Sub過程與Function過程的比較 223
8.2 為什麼創建自定義的函數 224
8.3 介紹性的函數示例 224
8.3.1 在工作錶中使用函數 225
8.3.2 在VBA過程中使用函數 226
8.3.3 分析自定義函數 226
8.4 Function過程 228
8.4.1 函數的作用域 229
8.4.2 執行Function過程 229
8.5 Function過程的參數 232
8.6 函數示例 233
8.6.1 無參數的函數 234
8.6.2 帶有一個參數的函數 236
8.6.3 帶有兩個參數的函數 238
8.6.4 使用數組作為參數的函數 239
8.6.5 帶有可選參數的函數 240
8.6.6 返迴VBA數組的函數 242
8.6.7 返迴錯誤值的函數 245
8.6.8 帶有不定數量參數的函數 246
8.7 模擬Excel的SUM函數 247
8.8 擴展的日期函數 250
8.9 函數的調試 252
8.10 使用“插入函數”對話框 253
8.10.1 使用MacroOptions方法 254
8.10.2 指定函數類彆 255
8.10.3 手動添加函數說明 256
8.11 使用加載項存儲自定義的函數 257
8.12 使用Windows API 258
8.12.1 Windows API示例 259
8.12.2 確定Windows目錄 259
8.12.3 檢測Shift鍵 260
8.12.4 瞭解更多有關API函數的信息 261
第9章 VBA編程示例和技巧 263
9.1 通過示例學習 263
9.2 處理單元格區域 264
9.2.1 復製單元格區域 264
9.2.2 移動單元格區域 265
9.2.3 復製大小可變的單元格區域 265
9.2.4 選中或者識彆各種類型的單元格區域 267
9.2.5 調整單元格區域大小 269
9.2.6 提示輸入單元格中的值 269
9.2.7 在下一個空單元格中輸入一個值 271
9.2.8 暫停宏的運行以便獲得用戶選中的單元格區域 272
9.2.9 計算選中的單元格的數目 274
9.2.10 確定選中的單元格區域的類型 274
9.2.11 有效地循環遍曆選中的單元格區域 276
9.2.12 刪除所有空行 279
9.2.13 任意次數地復製行 280
9.2.14 確定單元格區域是否包含在另一個單元格區域內 281
9.2.15 確定單元格的數據類型 281
9.2.16 讀寫單元格區域 283
9.2.17 在單元格區域中寫入值的更好方法 284
9.2.18 傳遞一維數組中的內容 286
9.2.19 將單元格區域傳遞給Variant類型的數組 286
9.2.20 按數值選擇單元格 287
9.2.21 復製非連續的單元格區域 288
9.3 處理工作簿和工作錶 290
9.3.1 保存所有工作簿 290
9.3.2 保存和關閉所有工作簿 291
9.3.3 隱藏除選區之外的區域 291
9.3.4 創建超鏈接內容錶 292
9.3.5 同步工作錶 293
9.4 VBA技巧 294
9.4.1 切換布爾類型的屬性值 294
9.4.2 顯示日期和時間 295
9.4.3 顯示友好時間 296
9.4.4 獲得字體列錶 298
9.4.5 對數組進行排序 299
9.4.6 處理一係列文件 301
9.5 使用在代碼中的一些有用的函數 302
9.5.1 FileExists函數 302
9.5.2 FileNameOnly函數 303
9.5.3 PathExists函數 303
9.5.4 RangeNameExists函數 303
9.5.5 SheetExists函數 305
9.5.6 WorkbookIsOpen函數 305
9.5.7 檢索已經關閉的工作簿中的值 305
9.6 一些有用的工作錶函數 307
9.6.1 返迴單元格的格式信息 307
9.6.2 會說話的工作錶 308
9.6.3 顯示在保存或打印文件時的時間 309
9.6.4 理解對象的父對象 310
9.6.5 計算介於兩個值之間的單元格數目 311
9.6.6 確定行或列中最後一個非空的單元格 311
9.6.7 字符串與模式匹配 313
9.6.8 從字符串中提取第n個元素 314
9.6.9 拼寫齣數字 315
9.6.10 多功能的函數 315
9.6.11 SHEETOFFSET函數 316
9.6.12 返迴所有工作錶中數據的最大值 317
9.6.13 返迴沒有重復的隨機整數元素的數組 318
9.6.14 隨機化單元格區域 319
9.6.15 對單元格區域進行排序 321
9.7 Windows API調用 322
9.7.1 確定文件的關聯性 323
9.7.2 確定磁盤驅動器信息 324
9.7.3 確定默認打印機的信息 324
9.7.4 確定視頻顯示器的信息 325
9.7.5 讀寫注冊錶 327
第Ⅲ部分 操作用戶窗體
第10章 多種自定義對話框的方法 333
10.1 創建用戶窗體之前需要瞭解的內容 333
10.2 使用輸入框 333
10.2.1 VBA的InputBox函數 334
10.2.2 Excel的InputBox方法 336
10.3 VBA的MsgBox函數 339
10.4 Excel的GetOpenFilename方法 343
10.5 Excel的GetSaveAsFilename方法 346
10.6 提示輸入目錄名稱 347
10.7 顯示Excel的內置對話框 347
10.8 顯示數據記錄單 350
10.8.1 使得數據記錄單變得可以訪問 350
10.8.2 通過使用VBA來顯示數據記錄單 351
第11章 用戶窗體概述 353
11.1 Excel如何處理自定義對話框 353
11.2 插入新的用戶窗體 354
11.3 嚮用戶窗體中添加控件 354
11.4 “工具箱”中的控件 355
11.4.1 復選框 356
11.4.2 組閤框 356
11.4.3 命令按鈕 356
11.4.4 框架 356
11.4.5 圖像 357
11.4.6 標簽 357
11.4.7 列錶框 357
11.4.8 多頁 357
11.4.9 選項按鈕 357
11.4.10 RefEdit 357
11.4.11 滾動條 358
11.4.12 數值調節鈕 358
11.4.13 TabStrip 358
11.4.14 文本框 358
11.4.15 切換按鈕 358
11.5 調整用戶窗體的控件 359
11.6 調整控件的屬性 361
11.6.1 使用“屬性”窗口 361
11.6.2 共同屬性 362
11.6.3 滿足鍵盤用戶的需求 363
11.7 顯示用戶窗體 364
11.7.1 調整顯示位置 365
11.7.2 顯示無模式的用戶窗體 365
11.7.3 顯示基於變量的用戶窗體 366
11.7.4 加載用戶窗體 366
11.7.5 關於事件處理程序 366
11.8 關閉用戶窗體 366
11.9 創建用戶窗體的示例 368
11.9.1 創建用戶窗體 368
11.9.2 編寫代碼顯示對話框 370
11.9.3 測試對話框 371
11.9.4 添加事件處理程序 372
11.9.5 驗證數據的有效性 373
11.9.6 完成的對話框 374
11.10 理解用戶窗體的事件 374
11.10.1 瞭解事件 374
11.10.2 用戶窗體的事件 375
11.10.3 數值調節鈕的事件 376
11.10.4 數值調節鈕與文本框配套使用 377
11.11 引用用戶窗體的控件 379
11.12 自定義“工具箱” 381
11.12.1 在“工具箱”中添加新頁 381
11.12.2 自定義或組閤控件 381
11.12.3 添加新的ActiveX控件 382
11.13 創建用戶窗體的模闆 383
11.14 用戶窗體檢驗錶 384
第12章 用戶窗體示例 385
12.1 創建用戶窗體式菜單 385
12.1.1 在用戶窗體中使用命令按鈕 385
12.1.2 在用戶窗體中使用列錶框 386
12.2 從用戶窗體選中單元格區域 387
12.3 創建歡迎界麵 389
12.4 禁用用戶窗體的關閉按鈕 391
12.5 改變用戶窗體的大小 392
12.6 從用戶窗體中縮放和滾動工作錶 393
12.7 列錶框技巧 395
12.7.1 嚮列錶框控件中添加條目 396
12.7.2 確定選中的條目 400
12.7.3 確定選中的列錶框中的多個條目 401
12.7.4 單個列錶框中的多個列錶 402
12.7.5 列錶框條目的轉移 402
12.7.6 在列錶框中移動條目 404
12.7.7 使用多列的列錶框控件 405
12.7.8 使用列錶框選中工作錶
中的行 407
12.7.9 使用列錶框激活工作錶 410
12.8 在用戶窗體中使用多頁控件 412
12.9 使用外部控件 413
12.10 使標簽動畫化 416
第13章 用戶窗體的高級技巧 419
13.1 無模式對話框 419
13.2 顯示進度條 423
13.2.1 創建獨立的進度條 424
13.2.2 使用多頁控件顯示進度條 427
13.2.3 在不使用多頁控件的情況下顯示進度條 429
13.3 創建嚮導 431
13.3.1 為嚮導設置多頁控件 431
13.3.2 在嚮導用戶窗體中添加按鈕 432
13.3.3 編寫嚮導按鈕的程序 432
13.3.4 編寫嚮導中的相關代碼 434
13.3.5 使用嚮導執行任務 435
13.4 模仿MsgBox函數 436
13.4.1 模仿MsgBox函數:MyMsgBox函數的代碼 437
13.4.2 MyMsgBox函數的工作原理 438
13.4.3 使用MyMsgBox函數 440
13.5 帶有可移動控件的用戶窗體 440
13.6 沒有標題欄的用戶窗體 441
13.7 使用用戶窗體模擬工具欄 443
13.8 使用用戶窗體來模仿任務麵闆 445
13.9 可調整大小的用戶窗體 446
13.10 用一個事件處理程序處理
多個用戶窗體控件 450
13.11 在用戶窗體中選擇顔色 452
13.12 在用戶窗體中顯示圖錶 454
13.12.1 將圖錶保存為GIF文件 455
13.12.2 更改圖像控件的Picture屬性 455
13.13 使用戶窗體半透明 455
13.14 增強型數據記錄單 457
13.14.1 關於Enhanced Data Form加載項 459
13.14.2 安裝Enhanced Data Form加載項 459
13.15 用戶窗體上的數字推盤 460
13.16 用戶窗體上的電動撲剋 461
第Ⅳ部分 高級編程技術
第14章 用VBA開發Excel實用程序 465
14.1 關於Excel實用程序 465
14.2 使用VBA開發實用程序 466
14.3 如何開發好的實用程序 466
14.4 Text Tools:實用程序剖析 467
14.4.1 Text Tools的背景 468
14.4.2 Text Tools的工程目標 468
14.4.3 Text Tools工作簿 468
14.4.4 Text Tools實用程序的工作原理 469
14.4.5 Text Tools實用程序的用戶窗體 470
14.4.6 Module1 VBA模塊 471
14.4.7 UserForm1代碼模塊 473
14.4.8 提高Text Tools實用程序的效率 474
14.4.9 保存Text Tools實用程序的設置 475
14.4.10 實現撤消 477
14.4.11 顯示幫助文件 479
14.4.12 添加RibbonX代碼 480
14.4.13 工程驗收 481
14.4.14 理解Text Tools實用程序 481
14.5 獲取更多關於Excel實用程序的知識 482
第15章 使用數據透視錶 483
15.1 介紹性數據透視錶示例 483
15.1.1 創建數據透視錶 484
15.1.2 檢查錄製的數據透視錶代碼 485
15.1.3 整理錄製的數據透視錶代碼 486
15.2 創建更復雜的數據透視錶 488
15.2.1 創建數據透視錶的代碼 489
15.2.2 更復雜的數據透視錶的工作原理 490
15.3 創建多個數據透視錶 492
15.4 創建轉換的數據透視錶 495
第16章 使用圖錶 499
16.1 關於圖錶 499
16.1.1 圖錶的位置 499
16.1.2 宏錄製器和圖錶 500
16.1.3 Chart對象模型 500
16.2 創建嵌入式圖錶 501
16.3 在圖錶工作錶上創建圖錶 503
16.4 修改圖錶 504
16.5 使用VBA激活圖錶 505
16.6 圖錶的移動 506
16.7 使用VBA使圖錶取消激活 506
16.8 確定圖錶是否被激活 507
16.9 從ChartObjects或Charts集閤中刪除圖錶 508
16.10 循環遍曆所有圖錶 509
16.11 調整ChartObjects對象的大小並對齊 511
16.12 創建大量圖錶 513
16.13 導齣圖錶 515
16.14 修改圖錶中使用的數據 517
16.14.1 基於活動單元格修改圖錶數據 517
16.14.2 用VBA確定圖錶中使用的單元格區域 519
16.15 使用VBA在圖錶上顯示任意數據標簽 522
16.16 在用戶窗體中顯示圖錶 526
16.17 理解圖錶事件 528
16.17.1 使用圖錶事件的一個示例 529
16.17.2 為嵌入式圖錶啓用事件 531
16.17.3 示例:在嵌入式圖錶上使用Chart事件 532
16.18 VBA製圖技巧 534
16.18.1 在整個頁麵上打印嵌入式圖錶 535
16.18.2 通過隱藏列來隱藏序列 535
16.18.3 創建未鏈接的圖錶 536
16.18.4 用MouseOver事件顯示文本 538
16.19 圖錶動畫 540
16.19.1 滾動圖錶 541
16.19.2 創建一個內擺綫圖錶 543
16.19.3 創建一個“時鍾”圖錶 544
16.20 在不使用VBA的情況下創建一個交互式圖錶 545
16.20.1 獲取數據來創建一個交互式圖錶 546
16.20.2 為交互式工作錶創建選項按鈕控件 546
16.20.3 為交互式圖錶創建城市列錶 547
16.20.4 創建交互式圖錶的數據單元格區域 548
16.20.5 創建交互式圖錶 548
16.21 使用迷你圖 548
第17章 理解Excel的事件 553
17.1 Excel可以監視的事件類型 553
17.1.1 理解事件發生的順序 554
17.1.2 事件處理程序存放的位置 554
17.1.3 禁用事件 555
17.1.4 輸入事件處理代碼 556
17.1.5 使用參數的事件處理程序 557
17.2 工作簿級彆的事件 559
17.2.1 Open事件 560
17.2.2 Activate事件 561
17.2.3 SheetActivate事件 561
17.2.4 NewSheet事件 561
17.2.5 BeforeSave事件 561
17.2.6 Deactivate事件 562
17.2.7 BeforePrint事件 562
17.2.8 BeforeClose事件 564
17.3 檢查工作錶事件 565
17.3.1 Change事件 566
17.3.2 監視特定單元格區域的修改 567
17.3.3 SelectionChange事件 571
17.3.4 BeforeDoubleClick事件 572
17.3.5 BeforeRightClick事件 573
17.4 檢查圖錶事件 573
17.5 監視應用程序事件 575
17.5.1 啓用應用程序級彆的事件 576
17.5.2 確定工作簿何時被打開 576
17.5.3 監視應用程序級彆的事件 578
17.6 使用用戶窗體事件 579
17.7 訪問與對象無關聯的事件 580
17.7.1 OnTime事件 580
17.7.2 OnKey事件 582
第18章 與其他應用程序的交互 587
18.1 從Excel中啓動應用程序 587
18.1.1 使用VBA的Shell函數 587
18.1.2 使用Windows的ShellExecute API函數 590
18.2 用Excel激活應用程序 591
18.2.1 使用AppActivate語句 591
18.2.2 激活一個Microsoft Office應用程序 592
18.3 運行“控製麵闆”對話框 592
18.4 在Excel中使用自動化 593
18.4.1 通過使用自動化來使用外部對象 594
18.4.2 前期綁定與後期綁定 594
18.4.3 後期綁定的一個示例 597
18.4.4 從Excel中控製Word 598
18.4.5 從其他應用程序中控製Excel 600
18.5 通過Outlook發送個性化的電子郵件 603
18.6 從Excel中發送電子郵件附件 606
第19章 創建和使用加載項 609
19.1 什麼是加載項 609
19.1.1 加載項與標準工作簿的比較 609
19.1.2 創建加載項的原因 610
19.2 理解Excel的加載項管理器 611
19.3 創建加載項 613
19.4 加載項示例 614
19.4.1 為加載項示例添加描述信息 615
19.4.2 創建加載項 615
19.4.3 安裝加載項 616
19.4.4 測試加載項 617
19.4.5 發布加載項 617
19.4.6 修改加載項 617
19.5 比較XLAM和XLSM文件 618
19.5.1 XLAM文件中的VBA集閤成員 619
19.5.2 XLSM和XLAM文件的可見性 619
19.5.3 XLSM和XLAM文件的工作錶和圖錶工作錶 619
19.5.4 訪問加載項中的VBA
過程 620
19.6 用VBA操作加載項 623
19.6.1 AddIn對象屬性 625
19.6.2 作為工作簿訪問加載項 628
19.6.3 AddIn對象事件 628
19.7 優化加載項的性能 629
19.8 加載項的特殊問題 630
19.8.1 確保加載項已經安裝 630
19.8.2 從加載項中引用其他文件 631
19.8.3 為加載項檢測適用的Excel版本 632
第Ⅴ部分 開發應用程序
第20章 使用功能區 633
20.1 功能區基礎 635
20.2 VBA和功能區 638
20.2.1 訪問功能區控件 639
20.2.2 使用功能區 640
20.2.3 激活選項卡 642
20.3 定製功能區 643
20.3.1 RibbonX的一個簡單示例 643
20.3.2 功能區的一個簡單示例(修改版) 646
20.3.3 RibbonX的另一個示例 650
20.3.4 功能區控件演示 652
20.3.5 dynamicMenu控件示例 659
20.3.6 更多關於功能區定製的內容 661
20.4 創建老式工具欄 662
20.4.1 Excel 2007及後續版本中老式工具欄的局限性 662
20.4.2 創建工具欄的代碼 663
第21章 使用快捷菜單 667
21.1 命令欄簡介 667
21.1.1 命令欄的類型 667
21.1.2 列齣快捷菜單 668
21.1.3 引用命令欄 669
21.1.4 引用命令欄中的控件 669
21.1.5 命令欄控件的屬性 671
21.1.6 顯示所有的快捷菜單項 671
21.2 使用VBA定製快捷菜單 673
21.2.1 Excel 2013中的不同之處 674
21.2.2 重置快捷菜單 675
21.2.3 禁用快捷菜單 676
21.2.4 禁用快捷菜單項 677
21.2.5 嚮“單元格”快捷菜單中添加一個新項 677
21.2.6 嚮快捷菜單中添加一個子菜單 679
21.2.7 將快捷菜單限製到單個工作簿 681
21.3 快捷菜單與事件 682
21.3.1 自動添加和刪除菜單 682
21.3.2 禁用或隱藏快捷菜單項 682
21.3.3 創建一個上下文相關的快捷菜單 683
第22章 為應用程序提供幫助 687
22.1 Excel應用程序的“幫助” 687
22.2 使用Excel組件的幫助係統 689
22.2.1 為幫助係統使用單元格批注 689
22.2.2 為幫助係統使用文本框 690
22.2.3 使用工作錶來顯示幫助文本 692
22.2.4 在用戶窗體中顯示幫助 693
22.3 在Web瀏覽器中顯示“幫助” 696
22.3.1 使用HTML文件 696
22.3.2 使用一個MHTML文件 697
22.4 使用HTML幫助係統 698
22.4.1 使用Help方法來顯示HTML幫助 701
22.4.2 將“幫助”文件與應用程序相關聯 701
22.4.3 將一個幫助主題與一個VBA函數相關聯 702
第23章 開發麵嚮用戶的應用程序 705
23.1 什麼是麵嚮用戶的應用程序 705
23.2 Loan Amortization Wizard 705
23.2.1 使用Load Amortization Wizard 706
23.2.2 Load Amortization Wizard的工作簿結構 707
23.2.3 Load Amortization Wizard的工作原理 708
23.2.4 可以增強Load Amortization Wizard的地方 714
23.3 應用程序開發概念 714
第Ⅵ部分 其 他 主 題
第24章 兼容性問題 719
24.1 什麼是兼容性 719
24.2 兼容性問題的類型 720
24.3 避免使用新功能 721
24.4 在Mac機器上是否可用 722
24.5 處理64位Excel 723
24.6 創建一個國際化的應用程序 724
24.6.1 多語言應用程序 725
24.6.2 VBA語言的考慮 726
24.6.3 使用本地屬性 726
24.6.4 係統設置識彆 727
24.6.5 日期和時間設置 729
第25章 用VBA處理文件 731
25.1 執行常見的文件操作 731
25.1.1 使用與VBA文件相關的指令 732
25.1.2 使用FileSystemObject對象 736
25.2 顯示擴展文件信息 739
25.3 文本文件的處理 741
25.3.1 打開文本文件 742
25.3.2 讀取文本文件 742
25.3.3 編寫文本文件 743
25.3.4 獲取文件序號 743
25.3.5 確定或設置文件位置 743
25.3.6 讀寫語句 744
25.4 文本文件操作示例 744
25.4.1 導入文本文件中的數據 744
25.4.2 將單元格區域的數據導齣到文本文件中 746
25.4.3 將文本文件的內容導入到單元格區域中 747
25.4.4 記錄Excel日誌的用法 748
25.4.5 篩選文本文件 749
25.4.6 將單元格區域的數據導齣為HTML格式 750
25.4.7 將單元格區域導齣到XML文件 752
25.5 壓縮和解壓縮文件 755
25.5.1 壓縮文件 755
25.5.2 解壓縮文件 757
25.6 使用ADO 758
第26章 使用Visual Basic組件 761
26.1 IDE簡介 761
26.2 IDE對象模型 763
26.3 顯示VBA工程中的所有組件 766
26.4 列齣工作簿中的所有VBA過程 767
26.5 用更新版本替換模塊 768
26.6 使用VBA編寫VBA代碼 770
26.7 在設計時嚮用戶窗體中添加控件 773
26.7.1 設計時與運行時的用戶窗體操作對比 773
26.7.2 在設計時添加100個命令按鈕 774
26.8 通過編程創建用戶窗體 776
26.8.1 一個簡單的運行時用戶窗體示例 776
26.8.2 一個有用(但是不簡單)的動態用戶窗體示例 778
第27章 理解類模塊 783
27.1 什麼是類模塊 783
27.2 示例:創建NumLock類 784
27.2.1 插入類模塊 784
27.2.2 給類模塊添加VBA代碼 785
27.2.3 使用NumLockClass類 787
27.3 更多有關類模塊的信息 788
27.3.1 對象屬性編程 788
27.3.2 對象的方法編程 790
27.3.3 類模塊事件 790
27.4 示例:CSV文件類 791
27.4.1 CSVFileClass的類模塊級變量 791
27.4.2 CSVFileClass的屬性過程 791
27.4.3 CSVFileClass的方法過程 792
27.4.4 使用CSVFileClass對象 794
第28章 使用顔色 797
28.1 指定顔色 797
28.1.1 RGB顔色係統 798
28.1.2 HSL顔色係統 798
28.1.3 轉換顔色 800
28.2 理解灰度模式 802
28.3 顔色實驗 803
28.4 理解文檔主題 804
28.4.1 關於文檔主題 804
28.4.2 理解文檔主題顔色 805
28.4.3 顯示所有的主題顔色 808
28.5 使用Shape對象 810
28.5.1 形狀的背景色 810
28.5.2 形狀和主題顔色 812
28.6 修改圖錶顔色 814
第29章 有關Excel編程的常見問題 819
29.1 獲得關於FAQ的信息 819
29.2 Excel的一般問題 820
29.3 VBE 823
29.4 過程 825
29.5 函數 829
29.6 對象、屬性、方法和事件 832
29.7 安全相關的問題 839
29.8 用戶窗體 840
29.9 加載項 843
29.10 用戶界麵 845
第Ⅶ部分 附錄
附錄A VBA語句和函數引用 849
附錄B VBA錯誤代碼 857
附錄C 本書的下載文件包中的內容 861
· · · · · · (
收起)