Excel VBA 編程開發(下冊)

Excel VBA 編程開發(下冊)

《Excel VBA編程開發》上下冊,是由劉永富編寫的計算機類圖書,於2022年9月由中國水利水電出版社出版發行。

基本介紹

  • 中文名:Excel VBA 編程開發(下冊) 
  • 作者:劉永富
  • 類別:計算機
  • 出版社:中國水利水電出版社
  • 出版時間:2022年9月
  • 頁數:551 頁
  • 定價:108.00 元
  • 開本:16 開
  • ISBN:9787522602813
內容簡介,圖書目錄,作者簡介,

內容簡介

《Excel VBA 編程開發(下冊)》立足於中高級 VBA 編程人員,詳細講述了利用 Excel VBA 語言實施自動
化程式開發需要的知識,以及 Office、VBE 外接程式的封裝和打包方法。
全書分為五篇,共 20 章,第一篇介紹 VBA 窗體中添加和使用的第三方控制項,第二篇介紹 API 函式的理
論基礎和分類套用,第三篇介紹微軟用於 RPA 自動化方面的 MSAA 和 UI Automation 自動化技術,第四篇介
紹 VBA 調用其他程式語言、VBA 中處理 JSON、WMI 系統管理技術、類型庫反射技術、Selenium 網頁自動
化技術,第五篇介紹面向 Office 組件 COM 載入項的製作和打包技術。
為了讓不同層次的讀者更好地理解和消化本書內容,本書配備了 20 集視頻教程和教學 PPT 課件。
本書內容豐富、難點突出、論點獨特、佐證充分,適合具備 VBA 中級水平以上的開發人員學習和參考使
用。從事各種程式自動化、VBE 外接程式外掛程式、遊戲外掛等方面的開發人員,以及套用型高校計算機相關專
業、培訓機構的講師和學員,均可選擇本書學習。

圖書目錄

目錄
第1章 使用ActiveX控制項... 21
1.1 ActiveX控制項的基本用法... 21
1.1.1 在Office文檔中使用ActiveX控制項... 21
1.1.2 在用戶窗體中使用ActiveX控制項... 24
1.1.3 使用自動添加的引用... 27
1.1.4 常用的ActiveX控制項... 28
1.2 QRMaker製作二維碼... 29
1.2.1 QRMaker.ocx控制項的註冊... 29
1.2.2 生成二維碼... 30
1.2.3 二維碼的導出... 34
1.2.4 使用API函式生成二維碼... 38
1.3 Barcode生成條形碼... 38
1.3.1 用戶窗體上顯示條形碼... 38
1.3.2 工作表上顯示條形碼... 42
1.4 日期時間類控制項... 43
1.4.1 DTPicker控制項... 43
1.4.2 MonthView控制項... 45
1.5 數值調節類控制項... 46
1.5.1 UpDown控制項... 46
1.5.2 FlatScrollBar控制項... 47
1.5.3 Slider控制項... 47
1.6 視頻音頻播放類控制項... 48
1.6.1 WindowsMediaPlayer控制項... 48
1.6.2 處理播放媒體的時長和播放位置... 50
1.6.3 創建播放列表... 50
1.6.4 MMControl控制項... 52
1.7 網頁類控制項... 53
1.7.1 WebBrowser控制項... 53
1.8 圖像類控制項... 55
1.8.1 Image控制項... 56
1.8.2 PictureClip控制項... 57
1.8.3 ImageList控制項... 58
1.9 數據呈現控制項... 61
1.9.1 ListView控制項... 61
1.9.2 TreeView控制項... 65
1.9.3 ToolBar控制項... 71
1.10 對話框類控制項... 75
1.10.1 CommonDialog控制項... 75
1.10.2 打開和保存對話框... 76
1.10.3 顏色選擇對話框... 79
1.10.4 字型對話框... 80
1.11 文本框類控制項... 82
1.11.1 RichTextBox控制項... 82
1.11.2 文本屬性... 83
1.12 狀態指示類控制項... 84
1.12.1 ProgressBar控制項... 84
1.12.2 StatusBar控制項... 85
1.13 通訊類控制項... 88
1.13.1 Winsock控制項... 88
1.13.2 第一台電腦的設定... 88
1.13.3 第二台電腦的設定... 90
1.13.4 在線上測試... 91
1.13.5 深入探討SendData和GetData. 92
1.14 本章習題... 93
第2章 API函式編程基礎... 94
2.1 API函式的來源... 94
2.2 VBA中API的聲明和使用... 95
2.2.1 API函式的聲明和使用... 96
2.2.2 API常量的聲明和使用... 97
2.2.3 API自定義類型的聲明和使用... 98
2.2.4 使用後綴方式... 99
2.3 獲取API函式的幫助... 99
2.3.1 微軟的Win32 API參考... 99
2.3.2 Win32API.txt 101
2.3.3 分類幫助... 102
2.3.4 Win32API_PtrSafe.TXT. 103
2.3.5 心得總結... 103
2.4 API函式使用方面的注意事項... 103
2.4.1 作用範圍... 104
2.4.2 函式的名稱... 104
2.4.3 函式的返回值... 105
2.5 處理API函式的錯誤... 105
2.5.1 獲取API函式的錯誤號... 106
2.5.2 FormatMessage函式... 107
2.5.3 SetLastError函式... 109
2.6 本章習題... 109
第3章 視窗和句柄... 111
3.1 視窗的基本概念... 111
3.1.1 Spy工具... 112
3.1.2 句柄... 113
3.1.3 類名... 115
3.1.4 標題... 116
3.2 查找視窗句柄... 117
3.2.1 FindWindow函式... 117
3.2.2 FindWindowEx函式... 118
3.2.3 GetTopWindow函式... 123
3.2.4 GetDesktopWindow函式... 123
3.2.5 GetParent和SetParent函式... 124
3.2.6 視窗置底... 125
3.2.7 GetNextWindow函式... 126
3.2.8 GetAncestor函式... 127
3.2.9 WindowFromPoint函式... 128
3.2.10 GetForegroundWindow和SetForegroundWindow函式... 128
3.2.11 EnumWindows、EnumChildWindows函式... 130
3.2.12GetWindowThreadProcessId和EnumThreadWindows函式... 133
3.3 獲取和設定視窗的屬性... 134
3.3.1 GetWindowText和SetWindowText函式... 134
3.3.2 GetClientRect和GetWindowRect函式... 135
3.3.3 MoveWindow函式... 136
3.3.4 ShowWindow函式... 137
3.3.5 SetWindowPos函式... 138
3.3.6 IsIconic、IsZoomed、CloseWindow函式... 139
3.3.7 IsWindowVisible函式... 140
3.3.8 IsWindowEnabled和EnableWindow函式... 140
3.3.9 IsChild函式... 141
3.3.10 IsWindow函式... 141
3.4 獲取和設定視窗的樣式... 142
3.4.1 GetWindowLong函式... 142
3.4.2 SetWindowLong函式... 143
3.4.3 隱藏用戶窗體的關閉按鈕和標題欄... 145
3.4.4 SetLayeredWindowAttributes函式... 147
3.4.5 DragAcceptFiles和DragQueryFile函式... 148
3.5 本章習題... 150
第4章 訊息函式... 151
4.1 訊息有關的函式... 151
4.1.1 SendMessage函式... 152
4.1.2 PostMessage函式... 153
4.1.3 訊息常量... 154
4.1.4 使用Spy++監視訊息... 155
4.2 按鈕類控制項... 161
4.2.1 單選按鈕... 162
4.2.2 複選框... 165
4.2.3 普通按鈕... 165
4.3 編輯框控制項... 166
4.3.1 獲取控制項中的文本內容... 166
4.3.2 設定文本內容... 168
4.3.3 獲取編輯框的選中情況... 169
4.3.4 選擇編輯框中的部分內容... 169
4.4 列表框控制項... 171
4.4.1 遍歷列表框的每個條目... 174
4.4.2 獲取和設定選中的條目... 175
4.4.3 查找指定內容的條目... 176
4.4.4 插入和增加條目... 177
4.4.5 移除和清空條目... 178
4.5 組合框控制項... 179
4.5.1 獲取和設定組合框的下拉狀態... 180
4.5.2 根據內容選中條目... 182
4.6 選項卡控制項... 183
4.6.1 獲取選項卡總數... 184
4.6.2 獲取和設定活動選項卡... 184
4.7 訊息的高級套用... 185
4.7.1 監視視窗的訊息... 185
4.7.2 註冊全局熱鍵... 188
4.7.3 使用熱鍵激活視窗... 190
4.7.4 監視剪貼簿的變化... 191
4.7.5 調節系統音量... 192
4.8 本章習題... 193
第5章 滑鼠和鍵盤函式... 193
5.1 滑鼠有關的函式... 193
5.1.1 mouse_event函式... 194
5.1.2 移動滑鼠... 195
5.1.3 滾動滑鼠... 196
5.1.4 GetDoubleClickTime和SetDoubleClickTime函式... 197
5.1.5 SwapMouseButton函式... 197
5.2 鍵盤有關的函式... 198
5.2.1 按鍵常量... 198
5.2.2 keybd_event和MapVirtualKey函式... 200
5.2.3 組合按鍵... 200
5.2.4 螢幕截圖... 202
5.2.5 GetKeyState函式... 202
5.2.6 GetAsyncKeyState函式... 202
5.3 本章習題... 203
第6章 選單函式... 204
6.1 選單系統的構成... 204
6.2 訪問選單系統的API函式... 205
6.2.1 GetMenu、CreatePopupMenu、AppendMenu函式... 205
6.2.2 DestroyMenu、DeleteMenu、DrawMenuBar函式... 207
6.2.3 SetMenu函式... 207
6.3 創建新的選單系統... 209
6.3.1 MF_BYCOMMAND和MF_BYPOSITION的區別... 213
6.3.2 EnableMenuItem函式... 214
6.3.3 CheckMenuItem函式... 214
6.3.4 CheckMenuRadioItem函式... 214
6.3.5 GetMenuState函式... 214
6.4 獲取選單信息... 215
6.4.1 GetSubMenu和GetMenuItemID函式... 217
6.4.2 GetMenuString函式... 217
6.5 設定和修改選單... 218
6.5.1 ModifyMenu函式... 218
6.5.2 DeleteMenu和RemoveMenu函式... 219
6.5.3 傳送WM_COMMAND訊息... 221
6.6 創建右鍵選單... 222
6.6.1 TrackPopupMenu函式... 222
6.6.2 工作表中實現自定義右鍵選單... 224
6.7 訪問系統選單... 226
6.7.1 GetSystemMenu函式... 226
6.7.2 遍歷系統選單的各項... 226
6.7.3 傳送WM_SYSCOMMAND訊息... 227
6.7.4 修改和顯示系統選單... 228
6.8 本章習題... 231
第7章 64位Office VBA編程要點... 231
7.1 Office版本升級引起的VBA變化... 232
7.1.1 VBA7的新特性... 232
7.1.2 64位VBA的新特性... 234
7.1.3 LongLong數據類型... 236
7.1.4 新增的轉換函式... 237
7.2 不同編程環境聲明方式... 237
7.2.1 各種關鍵字的套用場合... 238
7.2.2 各種聲明方式的適用範圍... 238
7.3 同時兼容的寫法... 239
7.3.1 以VBA版本分界聲明... 239
7.3.2 回調函式的分別書寫... 240
7.4 本章習題... 241
第8章 MSAA技術... 242
8.1 MSAA的基本概念... 242
8.1.1 使用accExplorer 242
8.1.2 IAccessible對象和簡易元素... 243
8.2 MSAA編程準備... 243
8.2.1 添加引用... 243
8.2.2 顯示隱含成員... 244
8.2.3 聲明有關API函式... 245
8.3 IAccessible對象的獲取... 246
8.3.1 Office對象返回的IAccessible對象... 246
8.3.2AccessibleObjectFromWindow函式... 246
8.3.3 IIDFromString函式... 248
8.3.4 AccessibleObjectFromPoint函式... 249
8.4 IAccessible對象的常用屬性和方法... 251
8.4.1 GetRoleText函式... 253
8.4.2 GetStateText函式... 255
8.4.3 返回IAccessible對象的位置和大小... 256
8.4.4WindowFromAccessibleObject函式... 257
8.5 遍歷IAccessible對象... 257
8.5.1 IAccessible對象樹... 257
8.5.2 AccessibleChildren函式... 258
8.5.3 返回父對象... 261
8.5.4 自動切換IE選項卡... 262
8.5.5 自動切換Word選項卡... 264
8.6 利用事件獲取IAccessible對象... 266
8.6.1 SetWinEventHook和UnhookWinEvent函式... 266
8.6.2AccessibleObjectFromEvent函式... 267
8.7 本章習題... 269
第9章 UI Automation技術... 270
9.1 UIA概述... 270
9.1.1 UIA與MSAA的比較... 270
9.1.2 自動化元素與樹結構... 270
9.1.3 三種視圖... 272
9.1.4 自動化元素的主要方面... 273
9.2 VBA中使用UI Automation. 273
9.2.1 添加UI AutomationClient引用... 273
9.2.2 UIA的主要編程對象和類型... 275
9.2.3 自動化標識符... 276
9.2.4 第一個UIA程式... 277
9.3 自動化元素的屬性... 280
9.3.1 顯式返回屬性... 280
9.3.2 隱式返回屬性... 281
9.3.3 遍歷支持的屬性對... 282
9.3.4 屬性含義解釋... 285
9.4 自動化元素的定位... 286
9.4.1 利用CUIAutomation對象返回自動化元素... 286
9.4.2 屬性條件的構造和使用... 287
9.4.3 布爾條件的構造和使用... 289
9.4.4 多個屬性條件的組合... 289
9.4.5 比較兩個自動化元素... 291
9.4.6 TreeWalker的創建和使用... 292
9.5 自動化元素的模式... 294
9.5.1 常見控制項支持的模式... 295
9.5.2 獲取自動化元素支持的模式... 296
9.6 常用模式套用舉例... 298
9.6.1 ExpandCollapsePattern模式... 298
9.6.2 GridPattern和GridItemPattern模式... 302
9.6.3 InvokePattern模式... 304
9.6.4 MultipleViewPattern模式... 305
9.6.5 RangeValuePattern模式... 308
9.6.6 ScrollPattern和ScrollItemPattern模式... 310
9.6.7 SelectionPattern和SelectionItemPattern模式... 313
9.6.8 TogglePattern模式... 318
9.6.9 TransformPattern模式... 320
9.6.10 ValuePattern模式... 321
9.6.11 WindowPattern模式... 323
9.7 UIA事件編程... 323
9.7.1 訂閱焦點改變時的事件... 324
9.7.2 自動化元素屬性變化時引發的事件... 327
9.7.3 同時監聽多種類型的事件... 329
9.8 本章習題... 332
第10章 調用可執行應用程式... 333
10.1 創建WshShell對象... 333
10.1.1 WshShell.Run方法... 335
10.1.2 WshShell.Exec方法... 336
10.2 解析TextStream對象... 337
10.2.1 StdIn對象... 339
10.2.2 StdOut對象... 340
10.2.3 StdErr對象... 342
10.3 調用常用程式語言... 343
10.3.1 調用bat批處理檔案... 343
10.3.2 調用VBS檔案... 346
10.3.3 調用Python代碼... 348
10.3.4 調用PowerShell腳本... 350
10.3.5 調用C#控制台程式... 353
10.4 本章習題... 356
第11章 JavaScript入門知識... 356
11.1 JavaScript概述... 356
11.1.1 HTML網頁中調用JavaScript 357
11.1.2 變數與數據類型... 359
11.1.3 區分大小寫... 360
11.2 函式的創建和調用... 360
11.2.1 默認參數... 361
11.2.2 返回值... 361
11.3 數組... 361
11.3.1 創建數組... 361
11.3.2 數組類型的判斷... 362
11.3.3 訪問數組元素... 362
11.3.4 遍歷數組... 363
11.3.5 排序和倒序... 364
11.3.6 數組與字元串的轉換... 364
11.4 字典... 365
11.4.1 創建字典... 365
11.4.2 字典的擴展和嵌套... 366
11.4.3 鍵的唯 一性... 366
11.4.4 訪問字典的鍵值對... 367
11.4.5 遍歷字典... 367
11.5 比較與類型轉換... 368
11.5.1 基本數據類型的比較和轉換... 369
11.5.2 數組與字典的轉換... 369
11.6 JSON.. 370
11.6.1 字元串與對象的相互轉換... 370
11.6.2 從複雜的JSON在提取信息... 371
11.6.3 stringify方法... 372
11.7 內置函式的調用... 373
11.7.1 eval方法... 373
11.7.2 編碼和解碼... 374
11.8 本章習題... 375
第12章 VBA中處理JSON.. 376
12.1 創建HTMLDocument對象... 376
12.1.1 添加引用... 376
12.1.2 後期創建對象... 377
12.2 IHTMLWindow2接口... 377
12.2.1 executeScript方法... 378
12.2.2 eval方法... 378
12.3 JavaScript數據的提取... 379
12.3.1 調用stringify. 379
12.3.2 JSON數據的請求下載和處理... 380
12.3.3 VBA對象轉JSON.. 383
12.4 人工智慧技術... 386
12.4.1 了解文字識別... 386
12.4.2 創建套用... 387
12.4.3 閱讀技術文檔... 388
12.4.4 access_token的獲取... 389
12.4.5 圖片轉base64字元串... 390
12.4.6 URL編碼... 392
12.4.7 文字識別的完整範例... 392
12.4.8 添加其他選項... 394
12.5 本章習題... 394
第13章 WMI系統管理技術... 396
13.1 WMI入門知識... 396
13.1.1 WMI服務(winmgmts)... 397
13.1.2 命名空間(NameSpace)... 397
13.1.3 子類(SubClasses)... 397
13.1.4 對象集(SWbemObjectSet)... 397
13.1.5 實例對象(SWbemObject)... 398
13.1.6 WMI編程之前的設定... 398
13.1.7 WMI對象模型... 400
13.1.8 第一個WMI入門實例... 402
13.2 WMI基礎語法... 403
13.2.1 連線到伺服器... 403
13.2.2 所有子類... 403
13.2.3 使用Wbemtest測試工具... 404
13.2.4 實例對象集的獲取... 407
13.2.5 WQL查詢語句... 408
13.2.6 實例對象集的遍歷... 408
13.2.7 實例對象的屬性集和屬性... 409
13.2.8 實例對象的方法集和方法... 412
13.3 使用GetObject返回不同類型的對象... 413
13.3.1 Moniker字元串... 413
13.3.2 返回SWbemServices對象... 413
13.3.3 返回SWbemObject對象... 414
13.4 使用WMI特權... 414
13.4.1 安全與特權對象模型... 415
13.4.2 許可權常量... 415
13.4.3 增加和移除許可權... 416
13.4.4 使用許可權... 417
13.5 進程信息... 418
13.5.1 進程的基本概念... 418
13.5.2 獲取所有進程... 419
13.5.3 創建新的進程... 420
13.5.4 獲取進程的擁有者... 421
13.5.5 終止進程... 422
13.6 邏輯磁碟信息... 423
13.6.1 磁碟分區的概念... 423
13.6.2 獲取磁碟分區的屬性... 425
13.6.3 修改邏輯分區的卷標... 426
13.6.4 執行磁碟檢查... 427
13.7 目錄信息... 428
13.7.1 定位資料夾... 428
13.7.2 重命名資料夾... 428
13.7.3 複製資料夾... 429
13.7.4 刪除資料夾... 429
13.8 檔案信息... 430
13.8.1 檔案的基本屬性... 430
13.8.2 定位檔案... 431
13.8.3 調用檔案的方法... 431
13.9 環境變數信息... 432
13.9.1 獲取環境變數... 432
13.9.2 修改環境變數... 433
13.10 服務信息... 434
13.10.1 服務的基本概念... 434
13.10.2 獲取服務信息... 436
13.10.3 啟動和停止服務... 437
13.10.4 更改服務的啟動模式... 438
13.10.5 刪除服務... 440
13.11 其他套用... 440
13.11.1 獲取網路適配器信息... 440
13.11.2 獲取印表機信息... 441
13.11.3 作業系統信息... 443
13.11.4 系統驅動程式信息... 443
13.11.5 中央處理器信息... 444
13.11.6 計算機信息... 445
13.12 使用StdRegProv類操作註冊表... 446
13.12.1 創建註冊表的WMI對象... 446
13.12.2 註冊表的構成... 447
13.12.3 註冊表對象的主要方法... 448
13.12.4 創建子鍵... 449
13.12.5 刪除子鍵... 450
13.12.6 遍歷子鍵名稱... 451
13.12.7 遍歷所有值的名稱、類型... 451
13.12.8 設定值的數據... 453
13.12.9 獲取值的數據... 454
13.12.10 刪除值... 456
13.12.11 判斷對註冊表的可訪問性... 456
13.12.12 遍歷安裝的程式列表... 457
13.13 WMI事件編程... 458
13.13.1 使用事件的意義... 458
13.13.2ExecNotificationQuery方法... 459
13.13.3ExecNotificationQueryAsync方法... 460
13.14 本章習題... 462
第14章 TLI反射技術... 464
14.1 TLI概述... 464
14.1.1 類型庫的主要內容... 464
14.1.2 添加TypeLib Information引用... 465
14.1.3 TLI編程對象模型... 466
14.2 獲取類型庫... 467
14.2.1 從註冊表獲得類型庫... 467
14.2.2 CLSID與ProgID的轉換... 472
14.2.3 從檔案獲得類型庫... 473
14.3 訪問類型庫中的類信息... 474
14.3.1 遍歷通用的類信息... 474
14.3.2 獲取其中一個TypeInfo. 476
14.3.3 遍歷CoClasses 477
14.3.4 遍歷枚舉類... 477
14.4 訪問CoClassInfo對象... 478
14.4.1 定位其中一個CoClassInfo. 479
14.4.2 遍歷CoClassInfo中的成員... 479
14.4.3 訪問函式信息... 481
14.4.4 訪問函式的參數列表... 483
14.5 訪問ConstantInfo中的成員信息... 484
14.5.1 遍歷枚舉方面的類... 484
14.5.2 遍歷枚舉常量... 486
14.6 本章習題... 487
第15章 SeleniumBasic瀏覽器自動化技術... 487
15.1 Selenium簡介... 488
15.1.1 Selenium的產生和發展歷史... 488
15.1.2 Selenium的功能與意義... 488
15.1.3 瀏覽器概述... 489
15.1.4 瀏覽器驅動的概念... 490
15.1.5 Selenium支持的開發平台和程式語言... 490
15.2 編程之前的設定... 491
15.2.1 瀏覽器的下載和安裝... 491
15.2.2 瀏覽器驅動的下載和解壓縮... 493
15.2.3 SeleniumBasic的註冊與引用... 495
15.3 第一個Selenium示例... 497
15.3.1 網頁的跳轉... 498
15.3.2 多個網頁標籤的切換... 500
15.4 網頁元素和HTML的基礎知識... 501
15.4.1 元素的標籤... 501
15.4.2 元素的屬性... 501
15.4.3 元素的文本... 502
15.4.4 使用開發工具查看網頁元素定義... 502
15.4.5 元素的XPath. 503
15.4.6 元素的CSS選擇器... 504
15.5 網頁元素的定位... 504
15.5.1 網頁元素定位的代碼寫法... 505
15.5.2 從IWebDriver對象開始定位網頁元素... 505
15.5.3 從一個元素定位其他元素... 505
15.5.4 使用FindElements定位一組元素... 506
15.6 網頁和元素截圖... 508
15.7 本章習題... 508
第16章 自定義函式的封裝... 509
16.1 動態程式庫的開發... 510
16.1.1 創建ActiveX DLL項目... 510
16.1.2 更改項目屬性... 513
16.1.3 添加類模組... 515
16.1.4 保存項目... 518
16.1.5 生成動態程式庫... 519
16.1.6 註冊表信息的確認... 520
16.2 功能測試... 521
16.2.1 Excel公式中調用自定義函式... 521
16.2.2 VBA中調用動態程式庫... 526
16.2.3 類的Initialize和Terminate事件... 530
16.2.4 ActiveX DLL項目的調試... 530
16.2.5 動態程式庫的註冊... 532
第17章 Office的COM載入項開發... 533
17.1 COM載入項概述... 534
17.1.1 COM載入項管理器... 534
17.1.2 從VBA的角度訪問COM載入項... 535
17.1.3 自動彈出COM載入項對話框... 535
17.1.4 COM載入項與註冊表的對應關係... 536
17.2 開發第一個COM載入項... 537
17.2.1 創建ActiveX DLL項目... 537
17.2.2 AddIn接口的實現... 540
17.2.3 AddIn的註冊... 542
17.2.4 COM載入項的調試... 544
17.3 VB6中資源檔案的用法... 545
17.3.1 調出資源編輯器... 546
17.3.2 字元串的寫入與讀出... 548
17.3.3 圖像、圖示的寫入與讀出... 549
17.4 自定義功能區... 552
17.4.1 COM載入項中實現customUI 552
17.4.2 按組件分別定義XML. 555
17.4.3 按Office界面語言分別定義XML. 559
17.4.4 處理XML中的實體符號... 561
17.4.5 使用內置圖示和自定義圖示... 564
17.4.6 使用回調函式... 566
17.5 自定義任務窗格... 569
17.5.1 ActiveX控制項的開發... 570
17.5.2 COM載入項中實現CustomTaskPane. 576
17.5.3 利用任務窗格的事件... 577
17.5.4 與宿主應用程式互動... 579
17.6 Office特定組件的編程... 585
17.6.1 Word事件的聲明和使用... 585
17.6.2 調用Word的朗讀功能... 587
第18章 VBIDE的外接程式開發... 590
18.1 VBIDE外接程式的基本概念... 591
18.1.1 VBIDE外接程式管理器... 591
18.1.2 VBIDE外接程式的AddIn註冊... 592
18.2 VBIDE外接程式允許添加的UI元素... 592
18.2.1 選單和工具列... 592
18.2.2 自定義工具視窗... 593
18.3 開發第一個VBIDE外接程式... 593
18.3.1 訪問宿主應用程式... 595
18.3.2 自定義工具列和右鍵選單... 595
18.3.3 創建工具視窗... 599
第19章 Inno Setup用法指南... 601
19.1 Inno Setup簡介... 601
19.1.1 Inno Setup的下載和安裝... 602
19.1.2 Inno Setup幫助系統... 608
19.2 創建iss腳本檔案... 610
19.2.1 認識軟體的安裝過程... 610
19.2.2 示例軟體的準備製作... 610
19.2.3 使用腳本嚮導... 612
19.3 軟體的安裝和卸載... 619
19.3.1 腳本檔案的編譯... 619
19.3.2 軟體的安裝... 619
19.3.3 軟體的卸載... 624
19.4 .iss腳本檔案的構成... 626
19.4.1 腳本語法特點... 628
19.4.2 內置常量與自定義常量字元串... 628
19.4.3 節的基礎知識... 628
19.4.4 檔案路徑的表示方法... 631
第20章 安裝包的高級自定義... 631
20.1 安裝包的製作... 632
20.1.1 準備要打包的源檔案... 632
20.1.2 書寫打包腳本... 632
20.1.3 生成安裝包... 636
20.2 安裝包的測試... 636
20.2.1 安裝的過程... 636
20.2.2 安裝後的確認... 644
20.2.3 卸載的過程... 647
20.3 代碼的解釋說明... 648
20.3.1 指定安裝許可權... 649
20.3.2 選擇安裝語言... 649
20.3.3 顯示歡迎對話框... 649
20.3.4 顯示背景視窗... 650
20.3.5 顯示許可協定... 651
20.3.6 設定安裝密碼... 651
20.3.7 選擇安裝位置... 651
20.3.8 選擇安裝組件... 652
20.3.9 選擇開始選單資料夾... 653
20.3.10 創建圖示與捷徑... 654
20.3.11 檔案的複製... 654
20.3.12 在客戶電腦創建資料夾... 655
20.3.13 顯示準備安裝和安裝完成頁... 655
20.3.14 顯示用戶信息頁... 655
20.3.15 修改註冊表... 656
20.3.16 自定義安裝精靈圖片... 658
20.3.17 自動運行其他程式或檔案... 659
20.3.18 安裝完成時是否重啟電腦... 664
20.4 語言檔案... 665
20.4.1 語言檔案的構成... 666
20.4.2 腳本檔案中指定語言檔案... 668
20.4.3 使用[Messages]段自定義顯示文本... 669
20.5 與卸載過程有關的屬性設定... 670
20.5.1 是否允許用戶卸載軟體... 670
20.5.2 卸載軟體後是否重啟電腦... 670
20.5.3 修改控制臺中軟體的名稱和圖示... 671
20.6 使用Delphi腳本... 671
20.6.1 事件過程和事件函式... 672
20.6.2 頁面預定義常量... 673
20.6.3 第一個Delphi腳本... 673
20.6.4 使用變數和常量... 675
20.6.5 條件選擇語句... 676
20.6.6 支持的內置方法... 678
20.6.7 MsgBox對話框... 678
20.6.8 根據類名或標題獲取視窗句柄... 680
20.6.9 判斷註冊表項和值是否存在... 683
20.6.10 判斷路徑和檔案是否存在... 684
20.6.11 判斷兩個檔案是否相同... 685
20.6.12 讀寫文本檔案... 685
20.6.13 支持的內置類... 687
20.6.14 自定義BeveledLabel 687
20.6.15 自動勾選許可協定... 689
20.7 命令行方式調用安裝包... 690
20.7.1 靜默安裝... 691
20.7.2 靜默卸載... 693
20.8 COM載入項安裝包的製作... 693
20.8.1 創建腳本... 693
20.8.2 安裝和卸載COM載入項... 694

作者簡介

劉永富,微軟辦公軟體國際認證MOS大師、VBA專家。熟悉Microsoft Access、Excel、PowerPoint、Outlook、Word這5個組件及其對應的VBA編程操作。具有近20年Office和VBA的開發、教學經驗,尤其專注研究VBA、VB6、C#、VB.NET等各種語言操作和訪問Office組件的方法和技術。
作者是51CTO學院具有豐富教學經驗的中級講師,授課領域包括載入宏和COM載入項開發、SeleniumBasic瀏覽器自動化技術、RPA自動化編程、VSTO開發等。

相關詞條

熱門詞條

聯絡我們