EXCEL2007VBA開發技術大全

EXCEL2007VBA開發技術大全

《EXCEL2007VBA開發技術大全》從讀者所需出發,採取先基礎、後實例,以及從零開始循序漸進的講解方式,全面、系統且深入地介紹Excel 2007 VBA編程技術。

讀者無論有無基礎,都可以輕鬆學習,並高效掌握。書中的內容豐富實用,通過基礎知識和套用示例的結合併穿插許多VBA編程技巧和設計規範等知識,提供了詳細的編程思路和大量的代碼範例。從而指導讀者學習Excel 2007 VBA編程技術,最終完成從入門到精通的大跨越。

基本介紹

  • 書名:EXCEL2007VBA開發技術大全
  • 作者傅靖李冬,羅剛君
  • ISBN:9787121071706
  • 頁數:700頁
  • 定價:75.00元
  • 出版社電子工業出版社
  • 出版時間: 2008-10-1
  • 開本:16開
簡介,前言,內容框架,特點歸納,光碟內容,讀者對象,作者介紹,目錄,序言,文摘,

簡介

本書隨附光碟一張,其中包括書中所有示例的素材檔案。本書適合廣大Excel VBA的初、中級用戶使用,同時也可作為大中專院校相關專業學生、VBA程式設計師,以及社會相關培訓班的難得教材。

前言

本書的編寫目的:
Excel 2007相對於以前版本的Excel,做出了巨大的跳躍。在檔案格式上,Excel工作簿由以往的二進制檔案格式(.xls、.xla和xlt等)變成開放的XML檔案格式(.xlsm、.xlam、.xltm、.xlsx、.xlax和.xltx等);在界面上,傳統的選單和工具列被換成了功能區,並且圖表外觀也煥然一新;在功能上,增加和改進了一系列功能,例如豐富的條件格式、可調整的編輯欄、函式記憶式鍵入、新的OLAP公式和多維數據集函式、改進的排序和篩選功能,以及Excel表格的增強功能等。
這些調整和變化勢必造成Excel對象模型的改變,為用戶的學習和使用帶來困難,而且目前圖書市場上比較缺乏全面、系統且深入介紹Excel 2007 VBA編程技術的書籍。本書正是為了彌補這種不足編寫的,書中針對Excel 2007新的對象模型,全面深入地剖析Excel 2007 VBA中的各個Excel對象及其使用方法。

內容框架

本書是一本Excel VBA綜合開發參考大全,書中幾乎囊括了使用Excel VBA開發Excel應用程式的全部知識,同時在講解中結合了大量實用並具有代表性的示例。
本書共23章,分為4個部分。各個部分涉及的技術既相互獨立,又相互聯繫。書中逐步引導讀者深入學習並掌握Excel VBA的編程知識、方法和技巧,是Excel VBA愛好者和開發人員必備的案頭參考書。
第1部分 基礎入門篇
第1章介紹如何使用宏錄製器錄製宏,以及如何運行宏,並幫助讀者認識和定製VBA集成開發環境。
第 2 章介紹Excel 2007對象模型、Application(應用程式)、Workbook(工作簿)和Worksheet(工作表)等主要對象,著重介紹最常用的Range(區域)對象,以及一個非常有用,但往往被開發人員忽視的Name(名稱)對象。
第 3 章介紹標識符、運算符、表達式和數據類型等程式設計中的各種基本概念,結合筆者在Excel二次開發中的經驗,總結並提出了VBA代碼規範、提高VBA代碼運行效率的方法及各種有益的VBA編程習慣。
第2部分 鞏固提高篇
第4章介紹數組的基本概念,說明如何實現數組與Excel的Range及Name對象之間的互動,並且介紹如何使用幾個常用的數組內置函式和一些有用的自定義數組函式。
第5章介紹如何操作用戶窗體及ActiveX控制項和窗體控制項。
第6章全面說明Excel的事件過程的基本原理,並具體分析工作表、圖表和工作簿事件的使用方法。
第7章介紹如何創建兩種不同類型的圖表(嵌入式圖表和圖表工作表),以及如何編輯圖表系列,同時介紹如何使用數組賦值並為圖表添加標籤。
第8章介紹如何創建並運算元據透視表。
第9章介紹如何創建Excel表,並使用自動篩選和記錄單等對象,以及如何使用AdvanceFilter方法。
第10章分析並介紹各種不同類型的錯誤,以及如何編寫錯誤處理程式,然後介紹不同的錯誤調試工具及技術。
第 11 章全面講解功能區的基礎界面,並通過示例說明如何使用VBA訪問功能區及使用RibbonX代碼定製功能區。
第3部分 高級編程篇
第12章介紹如何在Excel 2007中創建和控制命令欄及快捷選單。
第13章介紹結構化查詢語言SQL及其最常用的4種語句(SELECT、INSERT、UPDATE和DELETE),並介紹ADO中的幾個頂級對象,如何在Excel中使用ADO,並使用ADO訪問Access和Excel中的數據。
第14章詳細介紹順序、隨機及二進制檔案,說明如何操作檔案、資料夾,並使用檔案系統對象FSO。
第15章介紹如何使用Excel VBA來實現Excel與Internet的互動。
第16章介紹XML的一些基礎知識,並說明如何實現使用VBA來實現XML的自動處理。
第17章詳細介紹類模組的基礎知識,說明如何使用類模組創建自定義對象,並使用類模組捕獲應用程式事件和嵌入式圖表事件等。
第18章介紹Windows API的基礎知識,以及如何在Excel VBA中調用API實現凍結用戶窗體、獲取系統信息、捕獲按鍵狀態,改變用戶窗體樣式等操作。
第19章介紹不同類型的載入項,以及如何使用這些載入項。
第20章介紹使用不同方式與其他Office組件建立連線(晚期綁定和早期綁定),以及如何控制Word、Access及Outlook等組件。
第21章介紹VBE對象模型及其主要對象,以及如何操作VBProject中的各個對象、創建窗體組件並為VBE添加選單項等。
第22章分析並介紹在編寫國際化應用程式中應該注意的問題,以及如何實現不同語言的切換。
第4部分 綜合系統篇
第23章通過兩個綜合系統實例綜合套用VBA的編程技術,使讀者可以快速提高編程水平。

特點歸納

與同類書相比,本書主要有如下4個特色。
(1)實力派作者的力作,融匯了作者大量的工作經驗與心得體會。
(2)內容全面、系統且實用,從零開始、循序漸進,針對性和實踐性強。
(3)實例豐富且套用範圍廣泛,可以滿足讀者“一冊學通”的願望。
(4)穿插大量VBA編程技巧和設計規範知識,提供詳細的編程思路和代碼注釋。手把手地引導讀者從入門到精通,實現從初學者到Excel VBA高級開發人員的跨越。

光碟內容

本書隨附光碟中包括了本書中用到的所有示例,讀者閱讀相應的知識點後可以使用對應的示例反覆多次上機練習,以加深和鞏固對知識點的理解和掌握。

讀者對象

對於Excel VBA初學者,這是一本不可多得的VBA入門教材;對於有一定基礎的中高級水平的Excel VBA用戶,本書提供了對Excel VBA各個知識點的深入剖析,並提供了相應的示例,可以幫助其快速提高二次開發水平。本書同時也可作為大中專院校相關專業學生,以及社會相關培訓班的理想教材。

作者介紹

本書作者都是大型Office論壇的版主,具有豐富的Excel VBA編程經驗。本書主要由傅靖、李冬和羅剛君編寫,參與編寫的人還有鐘波、段左英、李洪麗、楊利美、苗素麗、劉永美、謝汝祥、郭能進、何文祥、何玉鳳、廖日坤、金鎮、李寧宇、黃小惠、廖濟林、龐麗梅、邱遠彬、黃桂群、劉偉捷、黃乘傳、李彥超、付軍鵬、張廣安及張洪波等,他們在資料的收集、整理和校對方面做了大量的工作。從而最大限度地保證了書稿內容的系統、全面和實用,在此一併向其表示感謝!

目錄

第1部分 基礎入門篇
第1章 Excel VBA起步 2
1.1 使用宏錄製器 3
1.1.1 錄製宏 3
1.1.2 確保“開發工具”選項卡可見 3
1.1.3 成功錄製宏的因素 4
1.1.4 錄製模式:相對模式或絕對模式 4
1.1.5 錄製選項 7
1.1.6 完成錄製 8
1.1.7 編輯代碼 9
1.1.8 錄製宏的限制 10
1.1.9 安全性問題 11
1.2 運行宏 13
1.2.1 打開“宏”對話框的方式 13
1.2.2 快捷鍵方式 13
1.2.3 表單控制項方式 14
1.2.4 ActiveX控制項方式 15
1.2.5 快速訪問工具列方式 16
1.2.6 VBE視窗方式 17
1.3 VBA集成開發環境 17
1.3.1 訪問VBA集成開發環境 17
1.3.2 IDF中的各組件 18
1.3.3 “工程資源管理器”視窗 19
1.3.4 “屬性”視窗 21
1.3.5 “對象瀏覽器”視窗 22
1.3.6 “代碼”視窗 24
1.4 定製集成開發環境 29
1.4.1 “編輯器”選項卡 29
1.4.2 “編輯器格式”選項卡 32
1.4.3 “通用”選項卡 33
1.4.4 “可連線的”選項卡 34
1.4.5 定製工具列和選單欄 34
1.5 使用系統幫助 35
1.6 認識信任中心 36
1.7 小結 42
第2章 Excel的對象模型及其主要對象 43
2.1 Excel 2007對象模型 44
2.1.1 Objects對象及對象層次結構 44
2.1.2 集合 44
2.1.3 屬性 45
2.1.4 方法 46
2.1.5 事件 46
2.1.6 獲取幫助 47
2.1.7 對象瀏覽器 48
2.1.8 使用“立即”視窗來調試代碼 49
2.2 Application對象 49
2.2.1 全局對象 50
2.2.2 Active屬性 50
2.2.3 DisplayAlerts屬性 51
2.2.4 ScreenUpdating屬性 51
2.2.5 Evaluation方法 52
2.2.6 StatusBar屬性 53
2.2.7 SendKeys方法 54
2.2.8 OnTime方法 56
2.3 Workbooks工作簿集合對象 57
2.3.1 創建一個新的工作簿 57
2.3.2 打開工作簿 58
2.3.3 保存和關閉所有工作簿 58
2.3.4 與工作簿相關的3個
1.1.4 自定義函式 59
2.3.5 使用自定義函式完成的一些工作簿操作 60
2.4 Worksheets工作表集合對象 62
2.5 Range對象概述 63
2.6 Range對象的常用屬性 68
2.6.1 Value屬性 69
2.6.2 Text屬性 69
2.6.3 Count及Areas屬性 70
2.6.4 Address屬性 71
2.6.5 HasFormula屬性 72
2.6.6 Font屬性 73
2.6.7 Interior屬性 73
2.6.8 Formula屬性 75
2.6.9 NumberFormat屬性 75
2.7 Range對象的常用方法 76
2.7.1 Activate和Select方法 76
2.7.2 Copy和Paste方法 77
2.7.3 Clear和Delete方法 77
2.8 返回Range對象的方法 78
2.8.1 Range屬性 78
2.8.2 Cells屬性 81
2.8.3 Offset屬性 82
2.8.4 Columns和Rows屬性 82
2.8.5 Resize屬性 84
2.8.6 用CurrentRegion屬性 84
2.8.7 End屬性 85
2.8.8 Union和Interset方法 86
2.8.9 SpecialCells方法 86
2.9 操作Range對象的示例 87
2.9.1 快速定位並填充區域中滿足條件的單元格 87
2.9.2 快速定位並刪除滿足條件的所有數據行 88
2.9.3 根據選擇區域執行相應的操作 91
2.10 使用名稱 93
2.10.1 名稱及“名稱管理器”對話框 93
2.10.2 在Excel中創建並使用名稱 96
2.10.3 Names集合和Name對象 99
2.10.4 添加指向區域的名稱 100
2.10.5 在名稱中保存數據 101
2.10.6 隱藏名稱 102
2.10.7 處理Excel內置名稱 103
2.10.8 改變名稱指向的區域 103
2.10.9 查找名稱 104
2.11 小結 109
第3章 VBA語言基礎 110
3.1 程式設計基本概念 111
3.1.1 標識符 111
3.1.2 運算符與表達式 113
3.1.3 VBA代碼規範 116
3.1.4 提高VBA代碼運行效率 122
3.1.5 各種有益的VBA編碼習慣 124
3.2 數據類型 128
3.2.1 基本數據類型 128
3.2.2 自定義數據類型 130
3.2.3 數據類型間的轉換 131
3.3 常量與變數 132
3.3.1 常量 132
3.3.2 變數 134
3.3.3 Option Explicit語句 135
3.3.4 常量和變數的關係 136
3.4 VBA中兩種與用戶互動的簡單方式 136
3.4.1 使用MsgBox函式輸出 136
3.4.2 使用InputBox函式獲取簡單的輸入 138
3.4.3 InputBox方法 140
3.5 語句 142
3.5.1 賦值語句 142
3.5.2 注釋語句 143
3.5.3 結束語句 144
3.5.4 With語句 145
3.6 小結 146
第2部分 鞏固提高篇
第4章 數組 148
4.1 數組的基本概念 149
4.2 聲明數組 149
4.3 靜態數組 149
4.4 動態數組 150
4.5 為數組元素賦值 151
4.6 數組與Excel對象的互動 152
4.6.1 二維數組與Excel區域 152
4.6.2 數組與Excel區域Range對象的互動 153
4.6.3 數組與Excel名稱Name對象的互動 156
4.6.4 使用“監視”視窗查看數組的值 157
4.7 常用的數組內置函式 158
4.7.1 Lbound和Ubound函式 158
4.7.2 Array和IsArray函式 158
4.7.3 Erase函式 160
4.7.4 Split和Join函式 161
4.7.5 Filter函式 161
4.7.6 Index函式 162
4.7.7 Transpose函式 164
4.8 運算元組的自定義函式 165
4.8.1 鞏固數組基礎知識 165
4.8.2 自定義數組函式 167
4.9 小結 175
第5章 用戶窗體及常用內部控制項 176
5.1 顯示用戶窗體 177
5.2 創建用戶窗體 177
5.3 直接訪問窗體中的控制項 179
5.4 阻止關閉按鈕 182
5.5 維護數據列表 183
5.6 非模態用戶窗體 188
5.6.1 非模態用戶窗體特點 188
5.6.2 進度指示條 188
5.7 可變用戶窗體名 190
5.8 控制項概述 190
5.9 窗體控制項和ActiveX控制項 190
5.10 ActiveX控制項 191
5.10.1 滾動條控制項 191
5.10.2 微調按鈕控制項 192
5.10.3 複選框控制項 192
5.10.4 選項按鈕控制項 193
5.11 窗體控制項 194
5.12 動態ActiveX控制項 196
5.13 圖表中的控制項 198
5.14 小結 199
第6章 理解Excel的事件 200
6.1 事件過程介紹 201
6.1.1 事件概述 201
6.1.2 與事件過程相關的概念 201
6.1.3 一個對象的可用事件 201
6.1.4 自動生成事件外殼代碼 203
6.1.5 事件代碼位置 205
6.1.6 事件層次及事件引發順序 205
6.1.7 嵌入式圖表對象和應用程式對象 208
6.1.8 同一對象的不同事件的引發順序 208
6.1.9 避免同一事件在不同層次對象中的繼續引發 209
6.1.10 Excel對象的事件 210
6.2 工作表事件 210
6.2.1 可用的工作表事件 210
6.2.2 啟用事件 211
6.2.3 工作表計算 211
6.3 圖表事件 212
6.3.1 可用的圖表事件 212
6.3.2 利用雙擊提供簡單的格式化圖表功能 213
6.4 工作簿事件 215
6.4.1 可用的工作簿事件 215
6.4.2 保存修改 216
6.4.3 頁眉和頁腳 216
6.5 小結 217
第7章 圖表 218
7.1 圖表概述 219
7.2 創建嵌入式圖表 220
7.2.1 宏錄製器生成的代碼 220
7.2.2 整理錄製宏代碼 221
7.3 創建位於圖表工作表中的圖表 222
7.3.1 使用宏錄製器生成的代碼 222
7.3.2 整理錄製宏代碼 223
7.4 編輯圖表中的系列 223
7.5 創建數組系列圖表 225
7.6 使用數組賦值圖表的數據系列 227
7.7 操作圖表系列公式SERIES 230
7.7.1 圖表系列SERIES公式的語法及參數 230
7.7.2 獲取圖表系列公式中的各部分值 231
7.8 添加圖表標籤 234
7.9 小結 235
第8章 數據透視表 236
8.1 創建數據透視表 237
8.1.1 準備數據源 237
8.1.2 創建數據透視表 237
8.1.3 查看錄製的代碼 238
8.1.4 整理錄製代碼 239
8.2 數據透視表快取集合PivotCaches 241
8.3 數據透視表集合PivotTables 241
8.4 數據透視表欄位集合PivotFields 241
8.4.1 在已有數據透視表中添加欄位 241
8.4.2 改變數據透視表欄位布局 242
8.4.3 改變數據透視表欄位布局 244
8.5 處理計算欄位CalculatedField 245
8.6 數據欄位的所有數據項集合PivotItems 246
8.6.1 分組 246
8.6.2 Visible屬性 249
8.6.3 CalculatedItems集合 250
8.7 生成數據透視圖PivotChart 250
8.8 使用外部數據源 252
8.9 小結 253
第9章 利用VBA管理數據列表 254
9.1 結構化數據及數據列表 255
9.2 排序區域 255
9.3 創建一個Excel表 258
9.4 排序Excel表 259
9.5 自動篩選 259
9.5.1 AutoFilter對象 261
9.5.2 Filter對象 261
9.5.3 使用日期自定義篩選 262
9.6 使用自動篩選的綜合實例 263
9.6.1 準備工作簿及添加
9.6.1 ActiveX控制項 263
9.6.2 填充組合框 263
9.6.3 添加組合框的Click事件過程及其調用的篩選過程 264
9.6.4 複製篩選數據行到新建工作表中 266
9.6.5 處理可見行 267
9.6.6 按準確日期篩選 268
9.7 使用高級篩選在不同工作簿之間篩選並傳遞數據 269
9.7.1 定義名稱 270
9.7.2 組織判斷條件Criteria區域 270
9.7.3 插入表單控制項並編寫VBA過程 271
9.8 記錄單 271
9.9 小結 273
第10章 錯誤處理與程式調試 274
10.1 錯誤類型 275
10.1.1 語法錯誤 275
10.1.2 運行時錯誤 275
10.1.3 邏輯錯誤 275
10.1.4 3種錯誤類型的比較 276
10.2 錯誤對象Err 277
10.3 編寫完美的無錯程式 280
10.3.1 分析功能並初次完成代碼 280
10.3.2 代碼並不完美 280
10.3.3 代碼仍然不完美 281
10.3.4 代碼還是不完美 282
10.3.5 放棄編寫完美的代碼 283
10.3.6 更換運行時錯誤的處理方式 283
10.4 運行時錯誤處理 284
10.4.1 未經處理和經過處理的錯誤 284
10.4.2 錯誤處理的一般步驟 284
10.4.3 錯誤處理機制的深層運用 290
10.4.4 複雜錯誤處理機制之一:函式返回型 292
10.4.5 複雜錯誤處理機制之二:錯誤重拋型 295
10.5 編寫處理錯誤的自定義函式 298
10.5.1 判斷工作簿是否打開的自定義函式 298
10.5.2 判斷工作表是否存在的自定義函式 299
10.5.3 判斷給定名稱是否存在 299
10.5.4 判斷給定變數是否是布爾型變數 300
10.6 程式調試概述 301
10.6.1 VBA提供的調試工具 301
10.6.2 “調試”工具列 301
10.6.3 處理不易解決錯誤的通用步驟 302
10.6.4 錯誤捕獲設定 302
10.7 程式的3種模式及其切換 304
10.7.1 設計模式 304
10.7.2 運行模式 304
10.7.3 中斷模式 305
10.8 跟蹤代碼 305
10.8.1 兩種常用的設定斷點方法 305
10.8.2 跟蹤代碼的方法及其選擇 307
10.9 使用調試視窗 309
10.9.1 “本地”視窗 309
10.9.2 “立即”視窗 310
10.9.3 “監視”視窗 313
10.9.4 “調用堆疊”對話框 316
10.10 調試常用快捷鍵 317
10.11 使用書籤快速切換 317
10.12 小結 318
第11章 功能區 319
11.1 功能區的基礎界面 320
11.1.1 功能區中的選項卡 320
11.1.2 功能區的特點 320
11.1.3 快速訪問工具列 321
11.2 使用VBA訪問功能區 321
11.2.1 Excel 2007中的CommandBar對象 321
11.2.2 訪問一個功能區控制項 321
11.2.3 CommandBars對象處理功能區的所有相關方法 323
11.2.4 激活選項卡 324
11.2.5 VBA和功能區 325
11.3 使用RibbonX代碼定製功能區 325
11.3.1 定製功能區的特點 325
11.3.2 一個簡單的RibbonX示例 326
11.3.3 示例剖析及知識總結 328
11.3.4 功能區XML檔案參考 329
11.3.5 另一個RibbonX示例 330
11.3.6 新增一個選項卡 332
11.3.7 定製功能區總小結 336
11.4 小結 338
第3部分 高級編程篇
第12章 命令欄及快捷選單 340
12.1 工具列、選單欄和快捷選單 341
12.2 Excel內置工具列 342
12.3 所有級別的控制項 344
12.4 創建新選單 348
12.5 傳遞參數 350
12.6 刪除選單 350
12.7 創建工具列 351
12.8 快捷選單 354
12.9 顯示彈出式命令欄 356
12.10 小結 358
第13章 使用ADO的數據訪問 359
13.1 結構化查詢語言 360
13.1.1 SELECT語句 360
13.1.2 INSERT語句 362
13.1.3 UPDATE語句 363
13.1.4 DELETE語句 363
13.2 ADO概述 363
13.2.1 資料庫連線對象Connection 364
13.2.2 記錄集對象Recordset 368
13.2.3 欄位對象Field 374
13.2.4 命令對象Command 374
13.2.5 二進制數據流或文本流對象Stream 376
13.2.6 錯誤集合和錯誤對象Errors & Error 377
13.2.7 ADO運算元據庫的一般過程 377
13.3 在Excel應用程式中使用ADO 378
13.4 使用ADO訪問Access中資料庫 378
13.4.1 連線到Microsoft Access數據源 378
13.4.2 使用純文本查詢從Microsoft Access中獲取數據 379
13.4.3 使用存儲查詢從Microsoft Access中獲取數據 381
13.4.4 插入數據 383
13.4.5 更新數據 384
13.4.6 刪除數據 386
13.4.7 在Microsoft Access中使用普通無格式文本SQL插入、
10.3.1 更新和刪除記錄 386
13.5 使用ADO訪問Excel中數據 389
13.5.1 查詢Excel工作簿 389
13.5.2 在Excel工作簿中插入和更新記錄 391
13.6 使用ADO查詢文本檔案 392
13.7 小結 394
第14章 檔案編程 395
14.1 檔案的基本概念 396
14.1.1 檔案結構 396
14.1.2 檔案分類 396
14.1.3 檔案的訪問類型 397
14.2 檔案處理的一般步驟 397
14.3 檔案處理中的簡單函式和語句 397
14.4 順序檔案 401
14.4.1 打開順序檔案 401
14.4.2 關閉順序檔案 402
14.4.3 順序檔案的寫操作 402
14.4.4 順序檔案的讀操作 405
14.4.5 順序檔案的讀操作示例 406
14.4.6 使用靈活的分隔設定 408
14.4.7 生成HTML格式的檔案 410
14.4.8 生成XML格式的檔案 411
14.5 隨機檔案 413
14.5.1 打開和關閉 413
14.5.2 寫操作 414
14.5.3 讀操作 415
14.5.4 修改、追加和刪除記錄 415
14.6 二進制檔案 416
14.6.1 打開和關閉 416
14.6.2 讀寫操作 416
14.6.3 3種不同類型檔案的典型讀寫操作語句 417
14.7 操作檔案和資料夾 417
14.7.1 VBA中有關目錄和檔案的操作語句及函式 417
14.7.2 綜合實例 423
14.8 檔案系統對象FSO 426
14.8.1 FSO對象模型及
14.6.3 FileSyetemObject對象 426
14.8.2 Driver對象及獲取驅動器信息 428
14.8.3 folder對象及處理資料夾 430
14.8.4 file對象與處理檔案 432
14.9 小結 436
第15章 Excel和Internet 437
15.1 使用VBA創建超連結 438
15.1.1 使用宏錄製器記錄插入超連結過程 438
15.1.2 獲取關鍵對象及方法 438
15.1.3 編寫使用插入超連結的代碼 438
15.1.4 使用FollowHyperlink方法 439
15.2 Internet中的工作簿 442
15.3 使用VBA創建和發布網頁 442
15.3.1 PublishObjects和PublishObject對象 443
15.4 基於Internet的查詢 446
15.4.1 在工作簿中打開Web網頁 446
15.4.2 使用Web查詢 447
15.4.3 解析Web網頁以獲取特定信息 449
15.5 小結 450
第16章 Excel和XML 451
16.1 XML是Excel的明日之星 452
16.2 XML基礎 452
16.2.1 XML聲明 453
16.2.2 處理指令 453
16.2.3 注釋 453
16.2.4 元素和根元素 453
16.2.5 屬性 454
16.2.6 名稱空間 454
16.2.7 查看和編輯一個XML文檔 455
16.2.8 直接處理XML數據 456
16.2.9 創建並處理自定義XML映射 458
16.3 使用VBA自動化處理XML 461
16.3.1 打開一個XML文檔直接映射到列表 461
16.4 使用DOM和XPath操作XML檔案 465
16.4.1 使用DOM對象載入XML檔案 466
16.4.2 協同使用ADO和DOM將Excel數據轉換為XML 467
16.4.3 使用DOM和XPath操作XML檔案 470
16.5 小結 475
第17章 類模組 476
17.1 類和類模組 477
17.1.1 類和類模組 477
17.2 類模組的屬性 478
17.3 屬性剖析 479
17.3.1 私有成員變數 479
17.3.2 Property Let過程 480
17.3.3 Property Get過程 480
17.3.4 Property作用域 480
17.3.5 實現用戶定義類型屬性 481
17.3.6 實現唯讀屬性 481
17.3.7 在客戶應用程式中使用屬性 482
17.3.8 在Collection類中使用批量賦值函式 482
17.3.9 在集合類中提供自己的Exists屬性 483
17.4 類模組方法 483
17.4.1 自定義方法的作用域 483
17.4.2 為自定義方法傳遞參數 484
17.4.3 實現自定義類方法 484
17.5 類模組事件 484
17.5.1 Initialize事件 484
17.5.2 Terminate事件 485
17.5.3 實現自定義事件 486
17.6 類模組的其他知識點 488
17.6.1 類模組的Instancing屬性 488
17.6.2 允許用戶使用For Each……Next語句 488
17.6.3 使用枚舉常數 488
17.6.4 錯誤處理 489
17.6.5 使用Dictionary對象 489
17.7 創建自定義對象 489
17.8 改進自定義對象的屬性過程 491
17.9 為自定義對象創建集合 492
17.9.1 在標準模組中使用Collection集合對象 492
17.9.2 在類模組中使用Collection集合對象 493
17.10 封裝 495
17.11 捕獲應用程式事件 496
17.12 嵌入式圖表事件 497
17.13 捕獲用戶窗體控制項事件 500
17.14 在工程間引用類 502
17.15 小結 503
第18章 理解並調用Windows API 504
18.1 API基礎 505
18.1.1 API的概念 505
18.1.2 DLL的含義 505
18.1.3 API函式 505
18.1.4 API數據類型 507
18.1.5 Handle、hwnd和hDC 509
18.2 使用API的基本步驟 511
18.2.1 聲明API函式 511
18.2.2 調用API函式 515
18.3 剖析API調用 516
18.4 返回API中的錯誤描述文本 518
18.4.1 編寫API錯誤返回函式 518
18.4.2 調用錯誤信息返回函式 520
18.5 API示例 520
18.5.1 凍結用戶窗體 520
18.5.2 將檔案刪除到資源回收筒中 523
18.5.3 獲取系統信息 524
18.5.4 捕獲Shift、Ctrl及Alt鍵的狀態 527
18.5.5 改變用戶窗體樣式 528
18.6 小結 535
第19章 載入項 536
19.1 載入項概述 537
19.2 Excel載入項 537
19.2.1 概述 537
19.2.2 保護工程以隱藏代碼 538
19.2.3 創建載入項 538
19.2.4 關閉載入項 539
19.2.5 代碼變化 539
19.2.6 保存更改 540
19.2.7 安裝一個載入項 540
19.2.8 從“可用載入宏”列表中移除一個載入項 541
19.3 自動化載入項 542
19.3.1 創建一個簡單的單向通信載入項GetSequence 542
19.3.2 在Excel中註冊自動化載入項 544
19.3.3 使用自動化載入項 545
19.3.4 創建一個複雜的雙向通信自動化載入項 546
19.4 小結 552
第20章 控制其他Office組件 554
20.1 建立連結 555
20.1.1 晚期綁定 555
20.1.2 早期綁定 557
20.2 在Word中打開文檔 558
20.3 訪問當前的活動Word文檔 559
20.4 創建一個新的Word文檔 560
20.5 在Excel中使用ADO技術操作Access數據 561
20.6 綜合使用Access、Excel和Outlook 562
20.7 小結 566
第21章 操作VBE 567
21.1 開始前的準備 568
21.2 VBE及其對象模型 569
21.2.1 VBE對象模型 569
21.2.2 VBE模型中的對象 570
21.2.3 Excel和VBE對象模型之間的聯繫 571
21.2.4 引用VBE中的對象 571
21.3 處理VBProject中的各個對象 573
21.3.1 測試指定組件的存在 573
21.3.2 在一個工程中添加模組 574
21.3.3 在一個模組中添加過程 575
21.3.4 創建一個事件過程 576
21.3.5 刪除工程中的模組 578
21.3.6 刪除模組中的過程 578
21.3.7 刪除工程中的所有VBA代碼 580
21.3.8 列出工程中所有組件的名稱及類型 580
21.3.9 列出模組中的所有過程 581
21.3.10 返回過程的聲明部分及其他信息 582
21.3.11 計算一個Component中代碼總行數 584
21.3.12 計算一個工程中的總代碼行數 585
21.3.13 將一個VBComponent導出為文本檔案 586
21.3.14 在工程間複製模組 588
21.3.15 在模組中搜尋文本 590
21.3.16 新建一個工作簿並在其中寫入代碼 590
21.3.17 在操作VBE時防止螢幕閃動 591
21.4 操作窗體組件 592
21.4.1 用代碼創建指定數目和大小的按鈕 592
21.4.2 窗體控制項的Designer對象 593
21.5 在VBE編輯器中添加新的選單項 596
21.5.1 VBE的命令欄對象 596
21.5.2 在VBE中添加選單 598
21.5.3 為當前過程添加行號和錯誤處理 600
21.6 處理其他VBE對象 603
21.6.1 處理引用 603
21.6.2 VBE視窗 604
21.7 小結 605
第22章 創建國際通用程式 606
22.1 Windows區域設定和Office 2007用戶語言 607
22.1.1 4個國家的本地化配置 607
22.1.2 辨別用戶區域設定和Windows語言 607
22.2 從國際化的角度來看VBA
22.1 的轉換函式 607
22.2.1 隱式轉換 607
22.2.2 日期字元串 609
22.2.3 IsNumeric和IsDate函式 609
22.2.4 CStr函式 609
22.2.5 CDbl、CSng、CLng、
22.2.5 CInt、CByte、CCur和
22.2.5 CDec函式 609
22.2.6 CDate和DateValue函式 609
22.2.7 CBool函式 610
22.2.8 Format函式 610
22.2.9 FormatCurrency、FormatDate Time、FormatNumber和
22.2.5 FormatPercent函式 610
22.2.10 Str函式 610
22.2.11 sNumToUS函式 610
22.2.12 Val函式 611
22.2.13 Application.Evaluate 612
22.3 與Excel互動 612
22.3.1 為Excel傳送數據 612
22.3.2 讀取Excel中的數據 614
22.3.3 與Excel協同工作的原則 614
22.4 與用戶交流 615
22.4.1 紙張大小 615
22.4.2 顯示數據 615
22.4.3 理解數據 615
22.4.4 XXXLocal屬性 616
22.4.5 與用戶合作的原則 616
22.5 Excel 2007的國際化選項 617
22.6 不遵循普遍規則的屬性、
22.6 方法及函式 619
22.6.1 OpenText方法 619
22.6.2 SaveAs方法 620
22.6.3 ShowDataForm子過程 620
22.6.4 貼上文本 621
22.6.5 數據透視表計算欄位和
22.2.5 項目、條件格式和數據
22.2.5 有效性驗證公式 621
22.6.6 Web查詢 622
22.6.7 =TEXT()工作表函式 622
22.7 Range對象的Value、Formula
22.7 及FormulaArray屬性 623
22.7.1 Range.AutoFilter方法 623
22.7.2 Range.AdvanceFilter方法 623
22.8 Application的Evaluate、ConvertFormula和
22.8 ExecuteExcel4Macro函式 624
22.9 Office 2007的語言設定 624
22.9.1 文本來自何處 624
22.9.2 識別Office用戶界面語言設定 625
22.10 創建一個多語言應用程式 628
22.10.1 建議的途徑 629
22.10.2 存儲字元串資源 629
22.11 在多語言環境中工作 630
22.11.1 保留足夠的空間 630
22.11.2 使用Excel對象 630
22.11.3 避免使用SendKeys方法 631
22.11.4 使用功能區 631
22.11.5 開發多語言應用程式的原則 631
22.12 有用的自定義函式 631
22.12.1 bWinToNum函式 631
22.12.2 bWinToDate函式 632
22.12.3 sFormatDate函式 633
22.12.4 ReplaceHolders函式 633
22.13 小結 634
第4部分 綜合系統篇
第23章 VBA綜合實例 636
23.1 學生成績管理系統 637
23.1.1 系統說明 637
23.1.2 設定工作表結構 638
23.1.3 設計程式登錄窗體 640
23.1.4 設定用戶許可權管理窗體 641
23.1.5 編寫窗體及日誌記錄代碼 642
23.1.6 成績查詢 648
23.1.7 定製功能區按鈕 653
23.1.8 使用程式 654
23.2 工作表管理綜合外掛程式系統 657
23.2.1 系統說明 657
23.2.2 設定主框架 658
23.2.3 批量建立工作表 659
23.2.4 批量複製工作表 661
23.2.5 以輸入字元為條件重命名工作表 662
23.2.6 以選區字元為條件重命名工作表 663
23.2.7 排序工作表 664
23.2.8 建立工作表目錄 666
23.2.9 批量隱藏/顯示工作表 667
23.2.10 設計工具列與快捷鍵 668
23.2.11 使用外掛程式 669
附錄A 代碼視窗中的常用快捷鍵及其功能 677
附錄B 錯誤列表 679

序言

Excel 2007相對於以前版本的Excel,做出了巨大的跳躍。在檔案格式上,Excel工作簿由以往的二進制檔案格式(.xls、.xla和xlt等)變成開放的XML檔案格式(.xlsm、.xlam、.xltm、.xlsx、.xlax和.xltx等);在界面上,傳統的選單和工具列被換成了功能區,並且圖表外觀也煥然一新;在功能上,增加和改進了一系列功能,例如豐富的條件格式、可調整的編輯欄、函式記憶式鍵入、新的OLAP公式和多維數據集函式、改進的排序和篩選功能,以及Excel表格的增強功能等。
這些調整和變化勢必造成Excel對象模型的改變,為用戶的學習和使用帶來困難,而且目前圖書市場上比較缺乏全面、系統且深入介紹Excel 2007 VBA編程技術的書籍。本書正是為了彌補這種不足編寫的,書中針對Excel 2007新的對象模型,全面深入地剖析Excel 2007 VBA中的各個Excel對象及其使用方法。
本書是一本Excel VBA綜合開發參考大全,書中幾乎囊括了使用Excel VBA開發Excel應用程式的全部知識,同時在講解中結合了大量實用並具有代表性的示例。
本書共23章,分為4個部分。各個部分涉及的技術既相互獨立,又相互聯繫。書中逐步引導讀者深入學習並掌握Excel VBA的編程知識、方法和技巧,是Excel VBA愛好者和開發人員必備的案頭參考書。

文摘

在日常Excel使用中,如果需要重複執行同樣順序的命令, 那么就可以使用Excel VBA來使這些過程自動化以節省時間和精力;如果需要創建一個基於Excel的應用程式,但用戶本身不熟悉Excel的功能,那么就可以針對特定的任務通過宏來創建一些具有引導功能的按鈕和對話框來幫助這些用戶完成相應的操作。
在辦公室自動化中,Excel VBA是一十Excel可以依靠的非常重要的工具。而其中的宏錄入器又是一個Excel可以依靠的非常重要的工具,用其可以通過滑鼠和鍵盤執行的操作轉換為Excel VBA代碼,可以手動執行操作中的大部分都可以使用宏錄製器來記錄。這是一種快捷而簡單的方式,不會編寫VBA代碼的用戶也可以很快掌握。許多Excel用戶記錄並運行宏, 甚至會產生沒有必要學習VBA的感覺。事實上很多操作確實不需要專門學習,而熟練使用Excel宏錄製器能夠解決常見問題,也是學習VBA的一個捷徑。
在本章中將說明如何使用宏錄製器,以及運行宏的所有方式。讀者將學習如何使用Visual Basic編輯器來檢查和修改宏,從而不再受到宏錄製器的限制。而且能夠超出宏錄製器有限的能力訪問, 並學會使用VBA語言和Excel對象模型的強大功能。

相關詞條

熱門詞條

聯絡我們