第1部分 excel基礎知識 1
第1章 excel 2003的起源 2
1.1 電子錶格軟件的簡短曆史 2
1.1.1 最初的起源visicalc 2
1.1.2 lotus 1-2-3 2
1.1.3 quattro pro 5
1.1.4 microsoft excel 5
1.2 excel對開發人員的重要性 9
1.3 excel在微軟戰略中的角色 9
第2章 excel概述 11
2.1 關於對象 11
2.2 工作簿 12
2.2.1 工作錶 12
2.2.2 圖錶工作錶 13
2.2.3 xlm宏工作錶 13
2.2.4 excel 5/95對話框編輯錶 14
2.3 excel的用戶界麵 14
2.3.1 菜單 14
2.3.2 快捷菜單 15
2.3.3 工具欄 15
.2.3.4 對話框 16
2.3.5 拖放 16
2.3.6 鍵盤快捷鍵 17
2.3.7 智能標記 17
2.3.8 任務窗格 17
2.4 數據錄入 18
2.5 公式、函數和名稱 19
2.6 定製屏幕顯示 20
2.7 選擇對象 20
2.8 格式 21
2.8.1 數字型格式 21
2.8.2 樣式型格式 21
2.9 形狀 22
2.10 圖錶 22
2.11 宏和編程 23
2.12 數據庫訪問 23
2.12.1 工作錶數據庫 24
2.12.2 外部數據庫 24
2.13 internet 特性 25
2.14 xml特性 26
2.15 分析工具 26
2.15.1 分級顯示 26
2.15.2 自動的分類匯總 26
2.15.3 analysis toolpak 26
2.15.4 數據透視錶 27
2.15.5 solver 28
2.16 加載宏 28
2.17 兼容性 28
2.18 保護選項 28
2.18.1 保護公式以防被修改 28
2.18.2 保護工作簿的結構 29
2.18.3 用密碼保護工作簿 30
2.18.4 用密碼保護vba代碼 30
2.19 excel的“幫助”係統 31
第3章 公式的技巧 32
3.1 公式簡介 32
3.2 計算公式 32
3.3 單元格和單元格區域引用 33
3.3.1 為什麼使用不是相對的引用 33
3.3.2 r1c1錶示法 34
3.3.3 引用其他的工作錶或者工作簿 35
3.4 使用名稱 36
3.4.1 命名單元格和單元格區域 36
3.4.2 將名稱應用於現有的引用 36
3.4.3 交叉名稱 37
3.4.4 命名列和行 38
3.4.5 名稱的作用域 38
3.4.6 命名常量 38
3.4.7 命名公式 39
3.4.8 命名對象 40
3.5 公式錯誤 41
3.6 數組公式 41
3.6.1 一個數組公式的例子 42
3.6.2 數組公式日曆 43
3.6.3 數組公式的優缺點 43
3.7 計數和求和技巧 43
3.7.1 使用countif或者sumif函數 44
3.7.2 使用數組公式進行計數和求和 44
3.7.3 其他計數工具 45
3.8 使用日期和時間 46
3.8.1 輸入日期和時間 46
3.8.2 使用1900年之前的日期 46
3.9 創建大公式 47
第4章 理解excel的文件 50
4.1 啓動excel 50
4.2 所支持的電子錶格文件格式 51
4.2.1 lotus 1-2-3電子錶格文件 52
4.2.2 quattro pro電子錶格文件 52
4.2.3 數據庫文件格式 52
4.2.4 文本文件格式 53
4.2.5 其他文件格式 53
4.3 用excel編寫的文件 53
4.3.1 xls文件 54
4.3.2 工作區文件 54
4.3.3 模闆文件 55
4.3.4 工具欄文件 55
4.3.5 加載宏文件 56
4.4 excel和html 56
4.4.1 excel如何使用html 56
4.4.2 增加難度 57
4.4.3 創建交互式的html文件 58
4.5 導入和導齣xml文件 59
4.5.1 什麼是xml 59
4.5.2 使用映射導入xml數據 60
4.5.3 將xml數據導入到列錶中 62
4.5.4 從excel導齣xml數據 63
4.6 注冊錶中的excel設置 63
4.6.1 關於注冊錶 63
4.6.2 excel的設置 64
第2部分 excel應用程序開發 67
第5章 電子錶格應用程序的內涵 68
5.1 電子錶格應用程序 68
5.2 開發人員和終端用戶 69
5.2.1 誰是開發人員 69
5.2.2 電子錶格應用程序用戶的分類 70
5.2.3 電子錶格應用程序的客戶 70
5.3 用電子錶格應用程序解決問題 71
5.4 基本的電子錶格應用程序類型 71
5.4.1 快捷但質量不高的電子錶格應用程序 72
5.4.2 自己創作、自己使用的電子錶格應用程序 72
5.4.3 單用戶電子錶格應用程序 72
5.4.4 意大利麵條式電子錶格應用程序 73
5.4.5 實用電子錶格應用程序 73
5.4.6 包含工作錶函數的加載宏 74
5.4.7 單元塊預算式電子錶格應用程序 74
5.4.8 假設分析模型式電子錶格應用程序 74
5.4.9 數據存儲和訪問電子錶格應用程序 74
5.4.10 數據庫前端電子錶格應用程序 75
5.4.11 統包式電子錶格應用程序 75
第6章 電子錶格應用程序開發的基礎 76
6.1 確定用戶需求 76
6.2 規劃滿足用戶需求的應用程序 77
6.3 確定最閤適的用戶界麵 78
6.3.1 創建自定義的對話框 79
6.3.2 在工作錶上使用activex 控件 79
6.3.3 自定義菜單 80
6.3.4 自定義工具欄 82
6.3.5 創建快捷鍵 83
6.3.6 執行開發的成果 83
6.4 使自己關心終端用戶 84
6.4.1 測試電子錶格應用程序 84
6.4.2 盡量完善電子錶格應用程序的安全性 85
6.4.3 使得電子錶格應用程序比較美觀和直觀 86
6.4.4 創建用戶幫助係統 87
6.4.5 編製有關開發成果的文檔 87
6.4.6 將電子錶格應用程序分發給用戶 87
6.4.7 需要的時候更新電子錶格應用程序 88
6.5 其他開發問題 88
6.5.1 用戶安裝的excel版本 88
6.5.2 語言問題 89
6.5.3 係統速度 89
6.5.4 視頻模式 89
第3部分 理解vba 91
第7章 vba概述 92
7.1 基本的背景 92
7.2 關於vba 92
7.2.1 對象模型 93
7.2.2 vba與xlm的對比 93
7.3 vba基礎知識 94
7.4 visual basic 編輯器概述 96
7.4.1 激活vbe 96
7.4.2 vbe窗口 97
7.5 使用“工程資源瀏覽器”窗口 98
7.5.1 添加新的vba模塊 99
7.5.2 刪除vba模塊 99
7.5.3 導齣和導入對象 99
7.6 使用“代碼”窗口 100
7.6.1 最小化和最大化窗口 100
7.6.2 存儲vba代碼 101
7.6.3 輸入vba代碼 101
7.7 定製vbe環境 106
7.7.1 使用“編輯器”選項卡 106
7.7.2 使用“編輯器格式”選項卡 108
7.7.3 使用“通用”選項卡 109
7.7.4 使用“可連接的”選項卡 110
7.8 宏錄製器 111
7.8.1 宏錄製器實際記錄哪些內容 111
7.8.2 相對模式還是絕對模式 112
7.8.3 錄製選項 115
7.8.4 整理已錄製的宏 115
7.9 關於對象和集閤 117
7.9.1 對象層次結構 117
7.9.2 關於集閤 118
7.9.3 引用對象 118
7.10 屬性和方法 119
7.10.1 對象的屬性 119
7.10.2 對象的方法 119
7.11 comment對象示例 121
7.11.1 查看有關comment對象的幫助 121
7.11.2 comment對象的屬性 122
7.11.3 comment對象的方法 122
7.11.4 comments 集閤 123
7.11.5 關於comment屬性 123
7.11.6 comment對象中的對象 124
7.11.7 確定單元格中是否含有comment對象 125
7.11.8 添加新的comment對象 125
7.11.9 一些有用的應用程序屬性 126
7.12 range對象的使用 127
7.12.1 range屬性 128
7.12.2 cells屬性 129
7.12.3 offset屬性 130
7.13 關於對象 131
7.13.1 基本的理念 131
7.13.2 學習有關對象和屬性的更多信息 132
第8章 vba編程基礎 135
8.1 vba語言元素概覽 135
8.2 注釋 137
8.3 變量、數據類型和常量 138
8.3.1 定義數據類型 139
8.3.2 聲明變量 141
8.3.3 變量的作用域 142
8.3.4 常量的使用 145
8.3.5 字符串的使用 146
8.3.6 日期的使用 147
8.4 賦值語句 148
8.5 數組 149
8.5.1 聲明數組 149
8.5.2 聲明多維數組 149
8.6 對象變量 150
8.7 用戶定義數據類型 151
8.8 內置函數 152
8.9 處理對象和集閤 154
8.9.1 with-end with 構造 154
8.9.2 for each-next 構造 155
8.10 控製執行 156
8.10.1 goto 語句 157
8.10.2 if-then 構造 157
8.10.3 select case 構造 160
8.10.4 指令的循環塊 163
第9章 vba的sub過程 169
9.1 關於過程 169
9.1.1 聲明sub過程 169
9.1.2 過程的作用域 170
9.2 執行sub過程 171
9.2.1 用“運行子過程/用戶窗體”命令執行過程 172
9.2.2 從“宏”對話框執行過程 172
9.2.3 用ctrl鍵組閤執行過程 172
9.2.4 從自定義菜單執行過程 173
9.2.5 從另一個過程執行過程 175
9.2.6 從工具欄按鈕執行過程 178
9.2.7 通過單擊對象執行過程 179
9.2.8 當事件發生時執行過程 180
9.2.9 從“立即窗口”執行過程 180
9.3 嚮過程傳遞參數 181
9.4 錯誤處理技術 184
9.4.1 捕獲錯誤 184
9.4.2 錯誤處理示例 185
9.5 使用sub過程的實際例子 187
9.5.1 目的 187
9.5.2 工程需求 188
9.5.3 已經瞭解的信息 188
9.5.4 著手處理 188
9.5.5 需要瞭解哪些信息 189
9.5.6 初步的錄製工作 189
9.5.7 初始設置 190
9.5.8 代碼的編寫 191
9.5.9 排序過程的編寫 192
9.5.10 更多測試 195
9.5.11 修復問題 195
9.5.12 實用程序的可用性 197
9.5.13 對工程進行評估 197
第10章 創建function過程 199
10.1 sub過程與function過程對比 199
10.2 為什麼創建自定義的函數 199
10.3 介紹性的函數示例 200
10.3.1 一個自定義函數 200
10.3.2 在工作錶中使用函數 200
10.3.3 在vba過程中使用函數 201
10.3.4 分析自定義函數 202
10.4 function過程 202
10.4.1 聲明函數 203
10.4.2 函數的作用域 203
10.4.3 執行function過程 204
10.5 function過程的參數 205
10.6 函數示例 206
10.6.1 無參數的函數 206
10.6.2 另一個無參數的函數 206
10.6.3 接受一個參數的函數 207
10.6.4 接受兩個參數的函數 209
10.6.5 接受數組參數的函數 210
10.6.6 接受可選參數的函數 211
10.6.7 返迴vba數組的函數 212
10.6.8 返迴錯誤值的函數 214
10.6.9 接受不定數量的參數的函數 215
10.7 模擬excel的sum函數 216
10.8 調試函數 218
10.9 使用“插入函數”對話框 219
10.9.1 指定函數類彆 220
10.9.2 添加函數說明 220
10.10 使用加載宏存儲自定義的函數 222
10.11 使用windows api 222
10.11.1 windows api示例 223
10.11.2 確定windows目錄 223
10.11.3 檢測shift鍵 224
10.11.4 瞭解更多有關api函數的信息 225
第11章 vba編程示例和技巧 226
11.1 處理單元格區域 226
11.1.1 復製單元格區域 226
11.1.2 移動單元格區域 227
11.1.3 復製大小可變的單元格區域 228
11.1.4 選中或者識彆各種類型的單元格區域 229
11.1.5 提示輸入單元格中的值 230
11.1.6 在下一個空單元格內輸入一個值 231
11.1.7 暫停宏的運行以便獲得用戶選中的單元格區域 232
11.1.8 計算選中的單元格的數目 234
11.1.9 確定選中的單元格區域的類型 234
11.1.10 有效地遍曆選中的單元格區域 235
11.1.11 刪除所有空行 237
11.1.12 確定單元格區域是否包含在另一個單元格區域內 238
11.1.13 確定單元格的數據類型 238
11.1.14 讀寫單元格區域 239
11.1.15 給單元格區域寫值的更好的方法 240
11.1.16 傳遞一維數組中的內容 242
11.1.17 將單元格區域傳遞給variant類型的數組 242
11.1.18 選中單元格區域中的最大值 243
11.1.19 選中有某種特殊格式的所有單元格 244
11.2 處理工作簿和工作錶 245
11.2.1 保存所有工作簿 246
11.2.2 保存和關閉所有工作簿 246
11.2.3 訪問工作簿的屬性 246
11.2.4 同步工作錶 247
11.3 vba技巧 248
11.3.1 切換布爾類型的屬性值 248
11.3.2 確定打印的頁麵的數量 249
11.3.3 顯示日期和時間 249
11.3.4 獲得字體列錶 250
11.3.5 排序數組 251
11.3.6 處理一係列文件 252
11.4 用在代碼中的一些有用的函數 254
11.4.1 fileexists函數 254
11.4.2 filenameonly函數 254
11.4.3 pathexists函數 255
11.4.4 rangenameexists函數 255
11.4.5 sheetexists函數 255
11.4.6 workbookisopen函數 255
11.4.7 檢索已經關閉的工作簿中的值 256
11.5 一些有用的工作錶函數 257
11.5.1 返迴單元格的格式信息 258
11.5.2 顯示與保存和打印的文件有關的數據 259
11.5.3 理解對象的父親 259
11.5.4 計算值介於兩個值之間的單元格數目 260
11.5.5 計算單元格區域中可見單元格的數目 261
11.5.6 確定行或者列中最後一個非空的單元格 261
11.5.7 字符串與模式匹配 263
11.5.8 從字符串中提取第n個元素 264
11.5.9 多功能的函數 265
11.5.10 sheetoffset函數 266
11.5.11 返迴所有工作錶中數據的最大值 266
11.5.12 返迴沒有重復的隨機整數元素的數組 267
11.5.13 隨機化單元格區域 269
11.6 windows api 調用 270
11.6.1 確定文件的關聯性 270
11.6.2 確定默認打印機的信息 271
11.6.3 確定當前的視頻模式 272
11.6.4 給應用程序添加聲音 273
11.6.5 讀寫注冊錶 274
第4部分 用戶窗體 277
第12章 多種自定義對話框的方法 278
12.1 創建用戶窗體之前需要瞭解的內容 278
12.2 使用輸入框 278
12.2.1 vba的inputbox函數 278
12.2.2 excel的inputbox函數 280
12.3 vba的msgbox函數 281
12.4 excel的getopenfilename方法 284
12.5 excel的getsaveasfilename方法 287
12.6 提示輸入目錄名稱 287
12.6.1 使用windows api函數選中目錄 288
12.6.2 使用filedialog對象選中目錄 290
12.7 顯示excel的內置對話框 290
12.7.1 使用dialogs 集閤 290
12.7.2 瞭解更多與內置對話框有關的信息 292
12.7.3 用內置對話框時使用參數 292
12.7.4 直接執行菜單項 293
第13章 用戶窗體概述 294
13.1 excel如何處理自定義對話框 294
13.2 插入新的用戶窗體 294
13.3 往用戶窗體上添加控件 295
13.4 “工具箱”的控件 296
13.4.1 復選框 296
13.4.2 組閤框 296
13.4.3 命令按鈕 296
13.4.4 框架 296
13.4.5 圖像 296
13.4.6 標簽 297
13.4.7 列錶框 297
13.4.8 多頁 297
13.4.9 選項按鈕 297
13.4.10 refedit 297
13.4.11 滾動條 297
13.4.12 數值調節鈕 297
13.4.13 tabstrip 298
13.4.14 文本框 298
13.4.15 切換按鈕 298
13.5 調整用戶窗體的控件 299
13.6 調整控件的屬性 300
13.6.1 使用“屬性”窗口 300
13.6.2 共同屬性 301
13.6.3 更多屬性的信息 301
13.6.4 適應鍵盤用戶的需求 301
13.7 顯示和關閉用戶窗體 303
13.7.1 顯示用戶窗體 303
13.7.2 關閉用戶窗體 304
13.7.3 關於事件處理程序 305
13.8 創建用戶窗體示例 306
13.8.1 創建用戶窗體 306
13.8.2 編寫代碼顯示對話框 308
13.8.3 測試對話框 308
13.8.4 添加事件處理程序 309
13.8.5 驗證數據的有效性 310
13.8.6 完成的對話框作品 311
13.9 理解用戶窗體的事件 311
13.9.1 瞭解事件 311
13.9.2 用戶窗體的事件 312
13.9.3 數值調節鈕的事件 312
13.9.4 數值調節鈕與文本框配對 314
13.10 引用用戶窗體的控件 316
13.11 自定義“工具箱” 317
13.11.1 更改圖標或者提示文本 317
13.11.2 添加新頁 317
13.11.3 自定義或者組閤控件 317
13.11.4 添加新的activex 控件 318
13.12 創建用戶窗體的模闆 318
13.13 用戶窗體檢驗錶 319
第14章 用戶窗體示例 320
14.1 創建用戶窗體式菜單 320
14.1.1 在用戶窗體中使用命令按鈕 320
14.1.2 在用戶窗體中使用列錶框 321
14.2 從用戶窗體選中單元格區域 322
14.3 創建歡迎界麵 323
14.4 禁用用戶窗體的關閉按鈕 324
14.5 改變用戶窗體的大小 325
14.6 從用戶窗體縮放和滾動工作錶 326
14.7 列錶框技巧 328
14.7.1 關於列錶框控件 328
14.7.2 嚮列錶框控件添加條目 329
14.7.3 確定選中的條目 332
14.7.4 確定選中的列錶框中的多個條目 332
14.7.5 單個列錶框中的多個列錶 333
14.7.6 列錶框條目的轉移 334
14.7.7 在列錶框中移動條目 335
14.7.8 使用多列的列錶框控件 336
14.7.9 使用列錶框選中工作錶中的行 338
14.7.10 使用列錶框激活工作錶 339
14.8 在用戶窗體中使用多頁控件 341
第15章 用戶窗體的高級技巧 343
15.1 顯示進度條 343
15.1.1 創建獨立的進度條 344
15.1.2 使用多頁控件顯示進度條 346
15.1.3 不用多頁控件顯示進度條 347
15.2 創建嚮導 348
15.2.1 為嚮導設置多頁控件 348
15.2.2 嚮嚮導用戶窗體添加按鈕 349
15.2.3 編寫嚮導按鈕的程序 349
15.2.4 編寫嚮導中的相關性代碼 351
15.2.5 用嚮導執行任務 352
15.3 模仿msgbox函數 353
15.3.1 mymsgbox 代碼 354
15.3.2 如何模仿msgbox 355
15.3.3 在模仿msgbox函數的過程中使用mymsgbox函數 356
15.4 非模態用戶窗體 356
15.5 用一個事件處理程序處理多個用戶窗體按鈕 358
15.6 在用戶窗體中選擇顔色 360
15.7 在用戶窗體中顯示圖錶 362
15.7.1 將圖錶保存為文件 362
15.7.2 使用 owc的chartspace 控件 363
15.8 在用戶窗體中顯示電子錶格 366
15.8.1 使得spreadsheet 控件可用 366
15.8.2 把spreadsheet 控件添加到用戶窗體中 366
15.8.3 使用owc spreadsheet控件的簡單示例 366
15.9 復雜的用戶窗體enhanced data form 368
15.9.1 關於enhanced data form 369
15.9.2 安裝enhanced data form加載宏 370
15.9.3 使用enhanced data form 370
第5部分 高級編程技巧 371
第16章 用vba開發excel實用程序 372
16.1 關於excel實用程序 372
16.2 使用vba開發實用程序 373
16.3 如何造就好的實用程序 373
16.4 text tools剖析實用程序 373
16.4.1 text tools的背景 374
16.4.2 text tools的工程目標 374
16.4.3 text tools實用程序的運作機理 375
16.4.4 text tools工作簿 375
16.4.5 text tools實用程序的用戶窗體 375
16.4.6 thisworkbook 代碼模塊 376
16.4.7 module1 vba模塊 378
16.4.8 userform1代碼模塊 379
16.4.9 使得text tools實用程序更加有效率 380
16.4.10 保存text tools實用程序的設置 381
16.4.11 實現撤銷操作 382
16.4.12 事後分析工程 383
16.4.13 理解text tools實用程序 384
16.5 瞭解有關excel實用程序的更多內容 384
第17章 數據透視錶 386
17.1 介紹性數據透視錶示例 386
17.1.1 創建數據透視錶 386
17.1.2 檢查錄製的數據透視錶代碼 388
17.1.3 整理錄製的數據透視錶代碼 388
17.2 創建更加復雜的數據透視錶 389
17.2.1 為更加復雜的數據透視錶準備的數據 389
17.2.2 生成數據透視錶的代碼 390
17.2.3 更復雜的數據透視錶的運作機理 392
17.3 從外部數據庫創建數據透視錶 392
17.4 創建多個數據透視錶 394
17.5 修改數據透視錶 396
第18章 圖錶 398
18.1 關於圖錶 398
18.1.1 圖錶的位置 398
18.1.2 chart對象模型 399
18.2 錄製圖錶宏 400
18.2.1 圖錶生成宏錄製器輸齣 400
18.2.2 整理圖錶生成的宏錄製器輸齣 401
18.3 常用的vba製圖方法 402
18.3.1 使用vba激活圖錶 402
18.3.2 使用vba使得圖錶處於非活動狀態 404
18.3.3 確定圖錶是否處於活動狀態 404
18.3.4 從chartobjects或者charts 集閤中刪除圖錶 405
18.3.5 使用vba應用圖錶的格式 405
18.3.6 遍曆所有圖錶 406
18.3.7 調整chartobject對象的大小和對齊chartobject對象 407
18.4 更多製圖的示例 408
18.4.1 在series 公式中使用名稱 408
18.4.2 使用vba指定圖錶使用的數據 410
18.4.3 使用vba確定圖錶中使用的單元格區域 412
18.4.4 使用vba顯示圖錶上的任意的數據標誌 415
18.4.5 在用戶窗體上顯示圖錶 416
18.5 理解圖錶的事件 418
18.5.1 使用圖錶事件的示例 419
18.5.2 為嵌入圖錶啓用事件 421
18.5.3 在嵌入圖錶上使用圖錶事件 423
18.6 vba製圖技巧 425
18.6.1 在整個頁麵上打印嵌入圖錶 425
18.6.2 創建靜態圖錶 425
18.6.3 用mouseover事件顯示文本 426
18.6.4 動態圖錶 428
18.6.5 創建內擺綫圖錶 429
18.6.6 創建時鍾式圖錶 430
18.7 不使用宏的製圖技巧 431
18.7.1 使用“自動篩選”特性控製數據係列 431
18.7.2 在圖錶工作錶上存儲多個圖錶 433
18.7.3 創建自我擴展式的圖錶 433
18.7.4 創建交互式的圖錶 438
第19章 理解excel的事件 442
19.1 excel可以監視的事件類型 442
19.2 應該瞭解的有關事件的信息 442
19.2.1 理解事件的順序 443
19.2.2 在何處放置事件處理程序的過程 443
19.2.3 禁用事件 444
19.2.4 輸入事件處理程序的代碼 445
19.2.5 使用參數的事件處理程序的過程 446
19.3 工作簿級彆的事件 447
19.3.1 open事件 448
19.3.2 activate事件 449
19.3.3 sheetactivate事件 449
19.3.4 newsheet事件 449
19.3.5 beforesave事件 449
19.3.6 deactivate事件 450
19.3.7 beforeprint事件 450
19.3.8 beforeclose事件 451
19.4 工作錶級彆的事件 452
19.4.1 change事件 453
19.4.2 監視特定的單元格區域的內容是否發生變化 454
19.4.3 selectionchange事件 456
19.4.4 beforerightclick事件 457
19.5 圖錶事件 457
19.6 應用程序事件 459
19.6.1 啓用應用程序級彆的事件 460
19.6.2 確定何時打開工作簿 460
19.6.3 監視應用程序級彆的事件 461
19.7 用戶窗體事件 462
19.8 沒有與對象關聯的事件 463
19.8.1 ontime事件 463
19.8.2 onkey事件 465
第20章 與其他應用程序交互 467
20.1 從excel啓動彆的應用程序 467
20.1.1 使用vba的shell函數 467
20.1.2 使用 windows的shellexecute api函數 469
20.2 用excel激活彆的應用程序 470
20.2.1 使用appactivate 470
20.2.2 激活某個microsoft office應用程序 471
20.3 運行“控製麵闆”對話框 471
20.4 在excel中使用自動化 472
20.4.1 使用automation處理外部對象 473
20.4.2 早期綁定與後期綁定 473
20.4.3 後期綁定的簡單示例 475
20.4.4 從excel控製word 476
20.4.5 從另一個應用程序控製excel 479
20.5 通過outlook發送私人的電子郵件 481
20.6 使用ado 482
20.7 從excel發送電子郵件附件 484
20.8 使用sendkeys 484
第21章 創建和使用加載宏 487
21.1 加載宏的概念 487
21.1.1 加載宏與標準工作簿的比較 487
21.1.2 創建加載宏的原因 488
21.2 理解excel的加載宏管理器 489
21.3 創建加載宏 490
21.4 加載宏示例 491
21.4.1 為加載宏示例設置工作簿 491
21.4.2 為加載宏示例測試工作簿 491
21.4.3 為加載宏示例添加描述性信息 491
21.4.4 創建加載宏 492
21.4.5 安裝加載宏 493
21.4.6 發布加載宏 494
21.4.7 修改加載宏 494
21.5 對比xla文件和xls文件 495
21.5.1 xls和xla文件大小和結構 495
21.5.2 xla文件的vba集閤成員 495
21.5.3 xls和xla文件的可見性 496
21.5.4 xls和xla文件中的工作錶和圖錶工作錶 496
21.5.5 在加載宏中訪問vba過程 497
21.6 用vba處理加載宏 499
21.6.1 理解addins 集閤 499
21.6.2 addins對象屬性 500
21.6.3 addins對象事件 503
21.7 優化加載宏的性能 503
21.7.1 最大化加載宏中的代碼執行速度 503
21.7.2 控製加載宏的文件大小 504
21.8 加載宏存在的特殊問題 505
21.8.1 確保安裝瞭加載宏 505
21.8.2 從加載宏中引用其他的文件 506
21.8.3 為加載宏檢測使用的excel版本是否正確 506
第6部分 開發應用程序 507
第22章 創建自定義工具欄 508
22.1 關於命令欄 508
22.2 工具欄的處理 508
22.3 excel如何處理工具欄 509
22.3.1 保存工具欄 509
22.3.2 當工具欄不能正常運行時 510
22.4 手動處理工具欄和按鈕 510
22.4.1 關於命令欄自定義模式 510
22.4.2 發布自定義工具欄 513
22.5 處理commandbars集閤 515
22.5.1 命令欄類型 515
22.5.2 列齣所有命令欄對象 515
22.5.3 創建命令欄 516
22.5.4 在vba中引用命令欄 517
22.5.5 使用vba刪除命令欄 517
22.5.6 命令欄的屬性 518
22.5.7 引用命令欄中的控件 522
22.5.8 列齣命令欄中的控件 523
22.5.9 列齣所有工具欄上的所有控件 523
22.5.10 給命令欄添加控件 525
22.5.11 從命令欄中刪除控件 525
22.5.12 命令欄控件的屬性 525
第23章 創建自定義菜單 534
23.1 關於excel的菜單欄 534
23.2 使用excel的菜單可以完成哪些任務 534
23.2.1 從專業術語角度理解excel的菜單 535
23.2.2 刪除excel菜單元素 536
23.2.3 添加excel菜單元素 536
23.2.4 更改excel菜單元素 536
23.3 使用vba自定義excel菜單 537
23.3.1 列齣excel菜單信息 537
23.3.2 往菜單欄添加新的菜單 539
23.3.3 從菜單欄中刪除菜單 541
23.3.4 往菜單添加菜單項 541
23.3.5 顯示菜單項的快捷鍵 545
23.3.6 修復重新設置瞭的菜單 546
23.4 處理事件的菜單程序設計 547
23.4.1 自動添加和刪除菜單 547
23.4.2 禁用或者隱藏菜單 548
23.4.3 處理選中的菜單項 549
23.5 創建自定義菜單的簡便方法 551
23.6 創建“工作錶菜單欄”的替代品 553
23.7 處理快捷菜單 555
23.7.1 往快捷菜單添加菜單項 556
23.7.2 從快捷菜單中刪除菜單項 557
23.7.3 禁用快捷菜單項 557
23.7.4 禁用快捷菜單 557
23.7.5 重新設置快捷菜單 558
23.7.6 創建新的快捷菜單 558
第24章 為應用程序提供幫助文檔 561
24.1 為應用程序提供幫助 561
24.2 使用excel組件的幫助係統 563
24.2.1 為幫助係統使用單元格組件 563
24.2.2 為幫助係統使用文本框 563
24.2.3 使用工作錶顯示幫助文本 564
24.2.4 在用戶窗體中顯示幫助 565
24.2.5 使用“office 助手”顯示幫助 567
24.3 在用戶窗體中模擬“這是什麼?”幫助 569
24.4 使用html help係統 570
24.5 將幫助文件與應用程序關聯起來 571
24.6 將幫助主題與某個vba函數關聯起來 572
24.7 顯示html help文件的其他方法 573
24.7.1 使用help方法 573
24.7.2 從消息框中顯示幫助 573
24.7.3 從輸入框中顯示幫助 574
第25章 開發麵嚮用戶的應用程序 575
25.1 什麼是麵嚮用戶的應用程序 575
25.2 loan amortization wizard 575
25.2.1 使用loan amortization wizard應用程序 575
25.2.2 loan amortization wizard的工作簿結構 577
25.2.3 loan amortization wizard的運作原理 578
25.2.4 增強loan amortization wizard的潛能 581
25.3 應用程序開發概念 582
第7 部分 其他主題 583
第26章 兼容性問題 584
26.1 什麼是兼容性 584
26.2 兼容性問題的種類 585
26.3 excel支持的文件格式 585
26.4 避免使用新特性 586
26.5 能夠在mac機器上運行嗎 587
26.6 創建國際通用的應用程序 588
26.6.1 多語種應用程序 589
26.6.2 vba語言考慮事項 590
26.6.3 使用本地屬性 590
26.6.4 識彆係統設置 590
26.6.5 日期和時間設置 592
第27章 用vba處理文件 593
27.1 執行常見的文件操作 593
27.1.1 使用vba的有關文件的命令 593
27.1.2 使用filesearch對象 595
27.1.3 使用filesystemobject對象 597
27.1.4 定位包含特定文本的文件 599
27.2 處理文本文件 599
27.2.1 打開文本文件 600
27.2.2 讀文本文件 601
27.2.3 寫文本文件 601
27.2.4 獲得文件編號 601
27.2.5 確定或者設置文件的位置 601
27.2.6 讀寫文本文件的語句 602
27.3 文本文件處理示例 602
27.3.1 將數據導入到文本文件中 602
27.3.2 將單元格區域導齣到文本文件 603
27.3.3 將文本文件的內容導入到單元格區域中 604
27.3.4 記錄excel日誌的用法 605
27.3.5 篩選文本文件 606
27.3.6 導入多於256列的數據 606
27.3.7 導齣單元格區域到html格式的文件 608
27.3.8 導齣單元格區域到xml格式的文件 610
第28章 處理vb組件 613
28.1 ide概述 613
28.2 ide對象模型 614
28.3 顯示vba工程中的所有組件 617
28.4 對模塊進行更改 618
28.5 使用vba來編寫vba代碼 620
28.6 在設計時往用戶窗體上添加控件 621
28.6.1 設計時與運行時對用戶窗體處理的比較 622
28.6.2 在設計時添加100個命令按鈕 623
28.7 通過編程創建用戶窗體 624
28.7.1 簡單的運行時用戶窗體的示例 624
28.7.2 有用的動態用戶窗體示例 626
第29章 理解類模塊 631
29.1 什麼是類模塊 631
29.2 創建numlock 類 632
29.2.1 插入類模塊 632
29.2.2 添加vba代碼到類模塊中 632
29.2.3 使用numlock 類 635
29.3 更多有關類模塊的信息 636
29.3.1 命名對象類 636
29.3.2 對對象的屬性進行編程 636
29.3.3 對對象的方法進行編程 637
29.3.4 類模塊事件 638
29.4 一個csv文件類 638
29.4.1 csvfileclass類模塊的類模塊級彆的變量 638
29.4.2 csvfileclass 類模塊的屬性過程 639
29.4.3 csvfileclass 類模塊的方法過程 639
29.4.4 使用csvfileclass對象 641
第30章 有關excel編程的常見問題 643
30.1 一般的excel問題 643
30.1.1 為什麼excel有兩種宏語言 643
30.1.2 需要發布工作簿給仍然使用excel 4的某些人,有辦法將動作錄製到某個xlm宏中嗎 643
30.1.3 在excel 97以及更高的版本中還能運行為更早的excel版本而編寫的xlm宏嗎 643
30.1.4 能夠找到將excel 4宏轉換為vba宏的第三方實用程序嗎 643
30.1.5 能夠從excel 4.0 xlm 宏調用vba過程嗎 643
30.1.6 能夠自動將lotus 1-2-3或者quattro pro宏轉換為vba宏嗎 644
30.1.7 在哪裏可以找到vba代碼的示例 644
30.1.8 有將excel應用程序轉換成獨立的exe文件的實用程序嗎 644
30.1.9 如何在單元格中添加一個下拉列錶,使得用戶可以從這個列錶中選擇某個值 644
30.1.10 如果列錶存儲在活動工作簿中的另一個工作錶內,還可以使用這種下拉列錶方法嗎 644
30.1.11 使用application.calculation將計算模式設置為手動。然而,這看來會影響所有的工作簿而不僅僅是活動工作簿 644
30.1.12 如何纔能增加工作錶中的列數 644
30.1.13 如何纔能增加工作錶中的行數 645
30.1.14 能改變工作錶標簽的顔色嗎 645
30.1.15 能改變工作錶標簽的字體嗎 645
30.1.16 能夠改變單元格批注的默認字體和顔色嗎 645
30.1.17 能夠在excel中播放聲音嗎 645
30.1.18 當打開工作簿時,excel詢問是否要更新鏈接,搜索瞭所有的公式之後,在這個工作簿中都找不到任何鏈接,這是bug嗎 645
30.1.19 每次啓動excel都崩潰 645
30.1.20 在頁眉如何打印齣工作簿的完整路徑和文件名 646
30.2 有關visual basic 編輯器的問題 646
30.2.1 在excel 95中,vba模塊還在工作簿中。當從excel 97或者更高的版本中打開這個文件時,卻看不到這些vba模塊瞭 646
30.2.2 能夠使用vba宏錄製器錄製所有的宏嗎 646
30.2.3 excel 95具有“在標記處錄製”特性,利用該特性可以從現有宏中的某個特殊位置開始錄製宏。這個特性仍然有用嗎 646
30.2.4 有一些宏比較通用,想讓它們在任何時候都能夠用,最好采用哪種辦法 647
30.2.5 找不到“個人宏工作簿”,它在哪裏 647
30.2.6 用密碼鎖定瞭vba工程,但是卻忘記瞭命名。有什麼辦法可以解除鎖定 647
30.2.7 如何編寫宏來更改工程的密碼 647
30.2.8 當插入新的模塊時,總是從option explicit 代碼行開始。這是為什麼 647
30.2.9 為什麼vba代碼以不同的顔色顯示?能改變這些顔色嗎 647
30.2.10 能用vba代碼刪除vba模塊嗎 647
30.2.11 在excel 2000中編寫瞭一個宏,這個宏往vb工程中添加一些vba代碼。當在excel 2003中運行這個宏的時候,就會得到一條消息。這是怎麼迴事 648
30.2.12 如何編寫宏來更改用戶的宏安全性設置?希望在打開編寫的應用程序時避免齣現“工作簿中包含宏”消息 648
30.2.13 當打開工作簿時,得到標準的宏警告消息。可是,刪除瞭這個工作簿中包含的所有宏。這是病毒嗎 648
30.2.14 不理解保護工作錶時userinterfaceonly 選項的運作原理 648
30.2.15 如何辨彆工作簿是否含有宏病毒 648
30.2.16 在vba中使用符號(&)時遇到麻煩。當要連接兩個字符串時,就會得到錯誤消息 648
30.2.17 vba換行連續字符(下劃綫)不起作用 648
30.2.18 刪除大量的vba代碼之後,發現xls文件的大小並沒有相應縮減,為什麼 649
30.2.19 給很多用戶發布一個xls應用程序。在某些機器上,其中的vba錯誤處理過程不起作用。為什麼 649
30.3 過程 649
30.3.1 vba過程和宏之間有什麼區彆 649
30.3.2 什麼是過程 649
30.3.3 什麼是variant 數據類型 649
30.3.4 variant 數組和variant元素構成的數組之間有什麼區彆 649
30.3.5 什麼是類型定義字符 650
30.3.6 編寫瞭一個vba函數,當從另一個過程調用它時運行得很好。但是當在工作錶公式中使用它時卻運行不瞭。這是怎麼迴事 650
30.3.7 想創建一個根據所鍵入的數據自動更改單元格格式的過程。例如,如果輸入的值大於0,那麼單元格的背景顔色就變成紅色。這可能做到嗎 650
30.3.8 “條件格式”特性很有用,但是更喜歡當在單元格中輸入數據時執行其他類型的操作 650
30.3.9 可以監視其他類型的事件嗎 650
30.3.10 試著輸入瞭一個事件過程(sub workbook_open),但是當打開工作簿時卻沒有執行這個過程。這是為什麼 651
30.3.11 可以為某個特殊的工作簿編寫事件過程,但是能夠為任意打開的工作簿編寫事件過程嗎 651
30.3.12 對在excel中創建公式非常熟悉。vba也使用瞭同樣的機製和邏輯運算符嗎 651
30.3.13 如何在彆的工作簿中執行過程 651
30.3.14 使用vba創建瞭幾個自定義函數。想在工作錶公式中使用這些函數,但是發現在函數名稱前加上工作簿的名稱極其不方便。還有彆的辦法嗎 651
30.3.15 希望在每次啓動時加載某個特殊的工作簿。還希望自動執行這個工作簿中的某個宏。是不是不大可能做到 652
30.3.16 有一個工作簿使用瞭workbook_open過程。有沒有辦法避免當打開這個工作簿時執行這個過程呢 652
30.3.17 vba過程能夠訪問沒有打開的工作簿中的某個單元格的值嗎 652
30.3.18 當從vba關閉工作簿時,如何避免顯示“保存文件”的提示 652
30.3.19 如何設置纔能使得宏每小時運行一次 652
30.3.20 如何防止在宏列錶中顯示某個宏 652
30.3.21 可以將圖錶保存為gif文件嗎 653
30.3.22 某個vba過程中的變量能在其他的vba過程中使用嗎?可以在彆的模塊中使用另外一個模塊中的過程嗎?可以在彆的工作簿中使用另外一個工作簿中的過程嗎 653
30.4 函數 653
30.4.1 創建瞭一個自定義的工作錶函數。當用“插入函數”對話框訪問這種函數時,齣現“沒有幫助信息”。如何纔能使得“插入函數”對話框顯示關於這個函數的說明呢 653
30.4.2 還能夠在“插入函數”對話框中顯示齣自定義函數的參數幫助信息嗎 653
30.4.3 自定義工作錶函數齣現在“插入函數”對話框的“用戶定義”類彆中。怎麼纔能使得自定義的函數齣現在彆的函數類彆中呢 653
30.4.4 如何創建新的函數類彆 654
30.4.5 創建瞭一個將用在工作錶公式中的自定義函數。如果用戶輸入的參數值不閤適,怎麼纔能使得函數返迴真正的錯誤值(#value!) 654
30.4.6 如何強製重算使用瞭自定義工作錶函數的公式 654
30.4.7 能在vba代碼中使用excel的內置工作錶函數嗎 654
30.4.8 excel 95不支持worksheetfunction方法。這意味著編寫的excel 2002應用程序不能兼容於excel 95嗎 655
30.4.9 在vba代碼中能夠使用analysis toolpak的函數嗎 655
30.4.10 有辦法在消息框的文本中強製換行嗎 655
30.5 對象、屬性、方法和事件 655
30.5.1 不理解對象的概念,有可以使用的excel對象的列錶嗎 655
30.5.2 有太多屬性和方法可以使用。如何從中找齣適用於某個特殊對象的方法和屬性呢 655
30.5.3 集閤的概念是什麼?集閤是對象嗎 656
30.5.4 當在vba代碼中引用工作錶時,就會得到“下標越界”的錯誤。沒有使用任何下標,怎麼會齣現這種錯誤呢 656
30.5.5 如何避免用戶的鼠標指針滾動到工作錶的外部 656
30.5.6 select和application.goto之間有什麼區彆 656
30.5.7 激活單元格區域和選中單元格區域之間有什麼區彆 656
30.5.8 有沒有快速辦法可以刪除工作錶的所有值,但是保持公式原封不動 657
30.5.9 知道如何編寫vba指令通過使用單元格地址來選中某個單元格區域,但是如果隻知道單元格區域的行號和列號,又該如何編寫vba指令來選中單元格區域呢 657
30.5.10 有退齣excel的vba命令嗎?當試著錄製“文件”“退齣”命令時,還沒有看到它生成的代碼excel就關閉瞭 657
30.5.11 怎麼關閉運行宏時的屏幕更新動作 657
30.5.12 在vba中創建單元格區域名稱的最簡單的方法是什麼 657
30.5.13 如何確定某個特殊的單元格或者單元格區域是否有名稱 657
30.5.14 可以禁用顯示在excel的“打印預覽”窗口中的“設置”和“頁邊距”按鈕嗎 658
30.5.15 宏在運行的時候能夠在狀態欄中顯示消息嗎?編寫瞭一個很長代碼的宏,如果能在狀態欄中顯示它的運行進度就好瞭 658
30.5.16 錄製瞭一個vba宏,它復製某個單元格區域並將其粘貼到彆的區域中。這個宏使用瞭select方法。還有更加有效率的方式進行復製粘貼嗎 658
30.5.17 沒有找到排序vba數組的方法。隻能先把值復製到工作錶中,然後再使用range.sort方法嗎 658
30.5.18 宏隻對選中的單元格起作用,但是如果選中瞭彆的內容(比如圖錶),則會運行失敗。如何能確保選中單元格區域瞭呢 659
30.5.19 如何確定圖錶是否處於活動狀態 659
30.5.20 vba宏要計算用戶選中的行數。當選中不相鄰的行時,使用selection.rows.count 不起作用。這是bug嗎 659
30.5.21 使用excel創建發票,能生成惟一的發票編號嗎 659
30.5.22 想使得某個工作簿一直保持可見,這樣彆的應用程序窗口就不能隱藏該工作簿瞭,有這種屬性嗎 660
30.5.23 如何阻止excel在運行時顯示消息?例如,下麵將消除宏刪除工作錶時所齣現的消息 660
30.5.24 可以用vba指令選中某一列或者某一行中的最後一項嗎?一般而言,可以使用ctrl+shift+下箭頭鍵或者ctrl+shift+右箭頭鍵組閤,但是用宏應該怎麼辦呢? 660
30.5.25 如何確定某個特殊列中的最後一個非空的單元格 660
30.5.26 如果a65536單元格不為空,上述指令就不會起作用 660
30.5.27 vba引用可以變得非常長,特彆是在需要通過引用工作錶和工作簿使得對對象的引用符閤標準時。能縮減這種引用的長度嗎 661
30.5.28 如果不知道數組包含多少元素,可以聲明數組嗎 661
30.5.29 能允許用戶撤銷宏嗎 661
30.5.30 有一個1-2-3宏能夠暫停運行使得用戶可以在某個特定的單元格中輸入數據。如何在vba宏中獲得同樣的效果呢 661
30.5.31 vba有一個inputbox函數,但是還有一個application對象的inputbox方法,兩者一樣嗎 661
30.5.32 當使用rgb函數指定顔色後,有時候顔色不對。為什麼 662
30.5.33 編寫vba指令創建一個公式,如果需要在引號引起來的文本中插入引號("),該怎麼辦呢 662
30.5.34 創建瞭一個數組,但是數組中的第1個元素卻成瞭第2個元素。這是為什麼 662
30.5.35 希望vba代碼運行的速度盡可能快,有什麼建議 662
30.6 用戶窗體 662
30.6.1 隻需要少量的信息,而使用用戶窗體似乎有些大材小用,有彆的辦法嗎 663
30.6.2 用戶窗體上有12個命令按鈕。如何指定當單擊其中任意一個按鈕時執行某一個宏 663
30.6.3 如何在用戶窗體中顯示圖錶 663
30.6.4 如何從用戶窗體的標題欄上刪除“關閉”按鈕,不希望用戶單擊這個按鈕來關閉窗體 663
30.6.5 創建瞭一個用戶窗體,其中的控件用controlsource屬性鏈接到瞭工作錶上的單元格。這是最佳的辦法嗎 663
30.6.6 能為用戶窗體創建一個控件數組嗎?visual basic可以這麼做,但是不知道在excel vba中如何做 663
30.6.7 隱藏用戶窗體和卸載用戶窗體之間有區彆嗎 664
30.6.8 做其他事情時如何保持用戶窗體的打開狀態 664
30.6.9 在編寫userform1.show vbmodeless時,excel 97齣現一個編譯錯誤。如何在excel 2000以及更高的版本中使得窗體成為無模式的,而同時使其在excel 97中保持模態設置 664
30.6.10 想在執行耗費長時間的過程的同時顯示一個進度條,就像在安裝軟件時看到的那樣。該怎麼做呢 664
30.6.11 如何使用excel的繪圖工具在用戶窗體上創建簡單的圖形 665
30.6.12 如何纔能在用戶窗體上産生文件及其目錄的列錶,以便用戶可以從這個列錶中選擇文件呢 665
30.6.13 想把兩個字符串連接起來並將它們顯示在一個列錶框控件中。但是在實現的時候,對不齊這些字符串。怎麼纔能使得字符串之間具有相等的間距呢 665
30.6.14 想用條目填充列錶框或者組閤框控件,有沒有簡單的辦法 665
30.6.15 能從vba顯示內置的excel對話框嗎 665
30.6.16 嘗試瞭上一個問題中描述的方法,但是卻收到錯誤消息。這是為什麼 665
30.6.17 每次創建用戶窗體時,都要重復添加“確定”按鈕和“取消”按鈕的步驟。有沒有辦法可以使得這些控件自動齣現呢 665
30.6.18 可以創建不帶標題欄的用戶窗體嗎 666
30.6.19 錄製瞭一個打印文件的vba宏。然而,好像無法在代碼中提供文件名。無論怎麼試,都會得到希望提供文件名的提示 666
30.6.20 當在用戶窗體上單擊某個按鈕時,沒有任何反應。哪裏做錯瞭 666
30.6.21 不管視頻顯示器的分辨率是多少,能創建大小一樣的用戶窗體嗎 666
30.6.22 可以創建用戶窗體使得用戶能夠通過指示選中工作錶的某個單元格區域嗎 666
30.6.23 能改變用戶窗體的啓動位置嗎 666
30.6.24 可以往工作簿中添加 excel 5/95對話框工作錶嗎 666
30.7 加載宏 666
30.7.1 從哪裏可以獲得excel加載宏 667
30.7.2 如何安裝加載宏 667
30.7.3 當從excel的“加載宏”對話框安裝加載宏時,加載宏沒有名稱或者說明。如何給加載宏添加說明呢 667
30.7.4 有一些加載宏不再使用,如何纔能從“加載宏”對話框的“可用加載宏”列錶中將它們刪除呢 667
30.7.5 如何創建加載宏 667
30.7.6 想創建一個加載宏,但是“保存類型”下拉列錶中沒有提供加載宏方麵的選項 667
30.7.7 應該將所有必要的工作簿轉換為加載宏嗎 667
30.7.8 需要將工作簿保存兩個副本(xls版本和xla版本)嗎 668
30.7.9 如何在創建加載宏之後對其進行修改呢 668
30.7.10 xls文件與依據xls文件創建的xla文件之間有什麼區彆?xla版本是編譯後的結果嗎?xla版本是否運行得更快呢 668
30.7.11 如何保護加載宏的代碼,使得彆人查看不到它的代碼 668
30.7.12 xla加載宏安全嗎?換句話說,如果發布瞭xla文件,能保證沒有人能夠查看其中的代碼嗎 668
30.8 命令按鈕 668
30.8.1 excel 95擁有一個很方便的菜單編輯器,但是excel 97以及更高的版本中卻沒有這種菜單編輯器。該怎麼辦 668
30.8.2 能編輯用excel 95的菜單編輯器創建的菜單嗎 668
30.8.3 當用“自定義”對話框更改菜單時,菜單的改變是永久性的。如何纔能使得菜單的更改隻應用於一個工作簿呢 669
30.8.4 知道可以使用faceld屬性給工具欄控件添加圖像,但是如何找到對應於某個特殊圖像的faceld 值呢 669
30.8.5 往工作簿附加瞭一個新版的工具欄,但是excel繼續使用老式的版本,如何纔能使用新版本的工具欄呢 669
30.8.6 已經對excel的工具欄做瞭大量的修改。如何纔能將所有這些工具欄恢復成原來的狀態呢 669
30.8.7 如何使得自定義菜單隻在某個特殊的工作簿處於活動狀態時纔顯示齣來 669
30.8.8 如何在工具欄上的兩個按鈕之間添加分隔欄 669
30.8.9 如何在菜單項旁邊顯示選中標記 670
30.8.10 不小心刪除瞭工作錶菜單中的某些項,但是找不迴來,重新啓動excel也不能修復 670
30.8.11 如何禁用所有單擊右鍵齣現的快捷菜單 670
30.8.12 能禁用當用戶在工具欄上單擊鼠標右鍵齣現的工具欄列錶嗎 670
第8部分 附錄 671
附錄a excel在綫資源 672
附錄b vba語句和函數引用 677
附錄c vba錯誤代碼 684
附錄d 光盤上的內容 687
· · · · · · (
收起)