VSTO開發中級教程

VSTO開發中級教程

《VSTO開發中級教程》是清華大學出版社於2020年1月1日出版的一本圖書,作者是劉永富。

基本介紹

  • 中文名:VSTO開發中級教程
  • 作者:劉永富
  • 出版社:清華大學出版社
  • 出版時間:2020年01月01日
  • 定價:99 元
  • ISBN:9787302537762
圖書內容,圖書目錄,

圖書內容

《VSTO開發中級教程》由資深軟體開發專家根據自己十餘年VBA開發經驗編寫而成,深入闡釋VSTO開發。全書內容體系完善,知識點高階,案例豐富,讓讀者身臨其境體會VSTO編程策略和魅力。
全書共20章,全面介紹VSTO開發的環境要求和配置、VSTO項目的概念和實現方法,主要內容包括Visual Studio的安裝和使用、VB.NET語言基礎和進階技術、VSTO外接程式項目的開發、使用功能區可視化設計器以及Ribbon XML進行customUI設計、自定義任務窗格、文檔自定義項的開發、Excel-DNA開發自定義公式和載入項等核心技術。本書內容由淺入深、難易結合,兼顧不同基礎和水平的讀者。採用VB.NET語言作為VSTO的開發語言,特別適合於具有VBA、VB6編程基礎的人員學習和研究。

圖書目錄

第1章VSTO開發綜述1
1.1Office開發方式的選擇?1
1.1.1VBA?2
1.1.2VB6?2
1.1.3VSTO?2
1.1.4用戶自定義函式的開發?3
1.2VB.NET語言概述?4
1.2.1VB.NET和VB6的關係?4
1.2.2VB.NET和VB6程式結構的差別4
1.3Office界面方案的選擇?5
1.3.1customUI設計6
1.3.2工具列設計6
1.3.3任務窗格設計?7
1.4VSTO開發環境的選擇?8
1.5小結8
第2章VisualStudio的安裝和使用?9
2.1VisualStudio2017的安裝?9
2.1.1安裝引導程式的下載9
2.1.2系統需求和安裝環境確認?11
2.1.3VisualStudio2007Professional的安裝11
2.1.4VisualStudio的啟動15
2.1.5VisualStudio的修復和卸載?15
2.2項目管理?16
2.2.1創建VSTO項目?17
2.2.2項目模板18
2.2.3創建時保存新項目19
2.2.4與項目有關的快捷鍵?20
2.3VisualStudio的選項設定?20
2.3.1更改默認開發語言21
2.3.2更改VisualStudio界面語言22
2.3.3更改代碼風格23
2.4代碼編寫技巧?24
2.4.1代碼的自動完成?24
2.4.2智慧型提示24
2.4.3查看定義24
2.4.4變數的重命名25
2.4.5查找和替換?26
2.5最常用的對話框27
2.6小結?27
第3章VB.NET語言基礎29
3.1VB.NET程式的編譯和運行30
3.1.1使用vbc.exe編譯程式?30
3.1.2第一個VB.NET程式?31
3.1.3使用VisualStudio進行VB.NET編程?32
3.2VB.NET語法基礎34
3.2.1變數、常量和賦值35
3.2.2字元和字元串36
3.2.3日期時間類型36
3.2.4整數類型40
3.2.5布爾和邏輯運算?41
3.2.6新增賦值運算符?43
3.2.7信息輸入和結果輸出?43
3.2.8輸入和輸出對話框45
3.3類型的判斷和轉換?49
3.3.1編譯選項設定49
3.3.2判斷數據、變數的類型50
3.3.3類型轉換51
3.4String.Format方法52
3.4.1對號入座52
3.4.2格式化數字?53
3.4.3格式化日期和時間55
3.5ToString方法56
3.6數組?56
3.6.1一維數組57
3.6.2數組的排序和倒序60
3.6.3數組的去重?60
3.6.4數組統計61
3.6.5兩個數組的集合運算?61
3.6.6一維數組與字元串相互轉換62
3.6.7二維數組63
3.6.8數組維數的判斷?63
3.7條件選擇?64
3.7.1If...Else結構64
3.7.2Select...Case結構65
3.8循環結構?66
3.8.1Do...Loop循環?66
3.8.2While循環67
3.8.3For循環?67
3.8.4For...Each循環?68
3.9匿名用法?69
3.9.1匿名類?69
3.9.2匿名過程70
3.9.3匿名函式71
3.10List泛型類?71
3.10.1泛型類與數組的轉換72
3.10.2數組的過濾?72
3.10.3泛型類的過濾?73
3.11異常處理73
3.11.1異常原因分析?74
3.11.2異常分類處理?74
3.12項目組織76
3.12.1項目中添加檔案76
3.12.2調用Module中的內容77
3.12.3類的創建和使用78
3.13項目的引用管理?79
3.13.1外部引用的添加和移除?79
3.13.2使用Imports指令81
3.14小結?82
第4章VB.NET窗體應用程式83
4.1窗體?83
4.1.1窗體的創建和顯示83
4.1.2窗體的添加?85
4.1.3自動創建窗體87
4.1.4窗體的隱藏和卸載88
4.2控制項的屬性89
4.2.1常規屬性設定89
4.2.2改變控制項的位置和大小91
4.2.3通過Anchor屬性設定控制項基準點?92
4.2.4通過Dock屬性設定控制項的擴展93
4.2.5使用Splitter控制項手動調整控制項分布94
4.3控制項的事件95
4.3.1使用WithEvents為控制項添加事件95
4.3.2使用AddHandler和RemoveHandler添加和移除事件?97
4.3.3按鍵事件100
4.3.4窗體的KeyPreview屬性?101
4.3.5滑鼠單擊事件102
4.3.6調用事件過程103
4.4專業窗體設計?104
4.4.1主選單的設計104
4.4.2打開和保存對話框105
4.4.3創建右鍵快捷選單107
4.4.4創建工具列?109
4.4.5創建狀態欄?110
4.5自動添加和刪除控制項111
4.5.1自動添加控制項111
4.5.2自動刪除控制項112
4.5.3自動添加控制項數組112
4.6小結?114
第5章VB.NET控制項技術115
5.1文本編輯類控制項115
5.1.1TextBox115
5.1.2RichTextBox116
5.1.3MaskedTextBox117
5.2標籤類控制項118
5.2.1Label?119
5.2.2LinkLabel?119
5.3選擇類控制項120
5.3.1CheckBox?120
5.3.2RadioButton121
5.4列表條目類控制項121
5.4.1ComboBox121
5.4.2ListBox122
5.4.3CheckedListBox124
5.5數值調節類控制項125
5.5.1HScrollBar和VScrollBar125
5.5.2TrackBar?126
5.5.3NumericUpDown126
5.5.4DomainUpDown?127
5.6狀態提示類控制項128
5.6.1NotifyIcon?128
5.6.2ProgressBar?128
5.6.3ToolTip129
5.7圖片類控制項130
5.7.1PictureBox130
5.7.2ImageList130
5.8日期時間類控制項132
5.8.1DateTimePicker132
5.8.2Timer?133
5.8.3Stopwatch對象?134
5.9其他控制項?135
5.9.1WebBrowser135
5.9.2WindowsMediaPlayer?136
5.9.3PropertyGrid137
5.9.4FileSystemWatcher139
5.10表格控制項DataGridView141
5.10.1顯示Access資料庫中的查詢結果141
5.10.2顯示DataTable對象中的數據?143
5.10.3處理選中的行?144
5.10.4導出DataGridView數據到Excel?145
5.11列表控制項ListView146
5.11.1顯示ADODB查詢Access的結果148
5.11.2處理選中的行?149
5.11.3導出ListView數據到Excel150
5.12樹狀控制項TreeView?151
5.12.1節點的添加和移除?152
5.12.2處理選中的節點154
5.12.3節點的遍歷154
5.13選項卡控制項TabControl155
5.13.1編輯選項卡155
5.13.2處理選中的選項卡?156
5.13.3顯示和隱藏選項卡?157
5.13.4動態增刪選項卡158
5.13.5遍歷選項卡158
5.14圖表控制項Chart159
5.14.1圖表的數據源?160
5.14.2圖表的標題164
5.14.3圖表的圖例165
5.14.4數據系列166
5.14.5圖表區域167
5.15小結?169
第6章VB.NETGDI+編程基礎170
6.1圖形對象?170
6.1.1繪圖方法171
6.1.2坐標系?171
6.2結構數組?172
6.2.1畫筆172
6.2.2畫刷173
6.2.3點和點數組?173
6.2.4矩形框和矩形框數組?173
6.3繪圖實例分析?174
6.3.1直線、多義線、多邊形的繪製174
6.3.2矩形的繪製?175
6.3.3橢圓、弧線、扇形的繪製?176
6.3.4實心填充圖形的繪製?177
6.3.5文字的繪製?178
6.3.6利用Paint事件自動重繪?179
6.4坐標系變換180
6.4.1坐標系平移?180
6.4.2坐標系旋轉?181
6.4.3坐標系縮放?181
6.5小結?182
第7章VB.NET進階技術183
7.1使用StringBuilder183
7.1.1追加字元串?184
7.1.2插入、移除和替換操作185
7.2使用字典?186
7.2.1利用字典去除重複項?186
7.2.2利用字典實現查詢功能187
7.2.3字典的遍歷?188
7.3使用哈希表189
7.3.1添加和移除鍵值對189
7.3.2遍歷鍵值對?190
7.4使用正則表達式190
7.4.1驗證191
7.4.2查找192
7.4.3替換193
7.4.4分隔194
7.4.5正則表達式選項?194
7.4.6直接使用正則表達式?195
7.4.7分組196
7.5目錄和檔案操作197
7.5.1使用DriveInfo獲取磁碟驅動器
7.5.2使用Directory.GetDirectories獲取子資料夾199
7.5.3使用Directory.GetFiles獲取資料夾下所有檔案200
7.5.4使用DirectoryInfo獲取資料夾信息200
7.5.5使用FileInfo獲取檔案信息?200
7.5.6使用Path進行路徑操作?201
7.5.7Directory類的方法201
7.5.8File類的方法?202
7.6文本檔案的讀寫202
7.6.1讀取檔案內容202
7.6.2寫入和追加內容到文本檔案204
7.6.3使用StreamWriter和StreamReader讀寫文本檔案204
7.7MD5加密205
7.7.1字元串的MD5加密206
7.7.2檔案的MD5計算?206
7.8GUID的生成207
7.9XML檔案的讀寫?208
7.9.1使用XMLWriter創建XML檔案?209
7.9.2使用XMLReader讀取XML內容?211
7.9.3使用XMLDOM創建XML?211
7.9.4使用XMLDOM讀取XML檔案?213
7.10使用API函式?213
7.10.1API函式的聲明214
7.10.2API結構類型的聲明214
7.10.3API常量的聲明215
7.10.4句柄、類名和標題?215
7.10.5修改視窗和控制項的文字?216
7.11傳送郵件218
7.11.1啟用信箱的SMTP服務?218
7.11.2使用CDO?219
7.11.3使用Net.Mail?221
7.12讀寫註冊表?223
7.12.1認識註冊表的結構?223
7.12.2RegistryKey對象?224
7.12.3打開子項225
7.12.4獲取所有鍵值信息?227
7.12.5獲取所有子項?227
7.12.6創建子項229
7.12.7修改和刪除鍵值229
7.12.8刪除子項230
7.13操作進程230
7.13.1創建進程231
7.13.2查看進程232
7.13.3結束進程233
7.13.4進程退出事件?234
7.14類庫項目的創建和調用234
7.14.1被VB.NET程式調用的類庫項目235
7.14.2被VBA程式調用的類庫項目239
7.15小結?243
第8章VB.NET操作Office對象244
8.1操作Excel應用程式對象?244
8.1.1獲取正在運行的Excel245
8.1.2創建Excel應用程式對象246
8.1.3調用Excel工作表函式?247
8.1.4調用VBA中的過程和函式247
8.1.5使用單元格選擇對話框248
8.2操作Excel工作簿248
8.2.1工作簿的新建和保存?248
8.2.2工作簿的打開和關閉?249
8.3操作Excel工作表249
8.3.1工作表的插入和刪除?249
8.3.2工作表的移動和複製?250
8.4操作Excel單元格250
8.4.1單元格的遍歷250
8.4.2單元格接收一維數組?251
8.4.3單元格接收二維數組?251
8.4.4數組接收單元格?252
8.5處理Excel中的事件?253
8.5.1使用WithEvents創建Excel事件253
8.5.2使用AddHandler和RemoveHandler處理Excel事件254
8.6操作其他Office對象257
8.6.1自定義Office工具列?257
8.6.2檔案選擇對話框?259
8.6.3操作VBE?261
8.7ADO.NET操作Access資料庫?263
8.7.1連線資料庫?264
8.7.2增加記錄265
8.7.3刪除記錄267
8.7.4更新記錄267
8.7.5返回標量Select查詢267
8.7.6遍歷結果記錄集?267
8.7.7生成DataTable對象268
8.7.8斷開資料庫?269
8.8小結?270
第9章VSTO外接程式?271
9.1VSTO外接程式與COM載入項?271
9.2開發環境配置?272
9.3Office主互操作程式集273
9.3.1PIA的副本?273
9.3.2添加其他Office組件的引用275
9.4創建VSTO外接程式項目276
9.5外接程式項目的調試279
9.6VisualStudio2010ToolsforOfficeRuntime?282
9.7VSTO外接程式項目中的引用和命名空間?283
9.7.1Excel對象類型283
9.7.2自定義Office界面方面的命名空間286
9.7.3Excel的VSTO對象類型287
9.7.4Office對象類型288
9.8COM載入項與註冊表的關係289
9.9訪問宿主應用程式的對象291
9.9.1調用VBA中的過程和函式292
9.9.2自動斷開COM載入項?292
9.10VBA調用VSTO中的過程和函式292
9.11外接程式項目允許包含的內容?294
9.12小結?294
第10章使用功能區可視化設計器?295
10.1可視化設計器的基本用法?295
10.1.1在內置選項卡中定製296
10.1.2自定義新選項卡300
10.1.3Group中加入DialogBoxLauncher302
10.2可視化設計器的檔案構成?303
10.2.1查看可視化設計器源檔案304
10.2.2限制控制項標題的自動換行305
10.2.3可視化設計器的事件檔案306
10.3可視化設計器對象模型306
10.3.1OfficeMenu307
10.3.2功能區控制項309
10.3.3Button309
10.3.4通用屬性310
10.3.5EditBox310
10.3.6CheckBox和ToggleButton?311
10.3.7ComboBox和DropDown?312
10.3.8Gallery?314
10.3.9Menu、SplitButton和Separator?316
10.4CreateRibbonExtensibilityObject函式317
10.4.1選擇性載入指定的可視化設計器?318
10.4.2使用代碼自動添加和移除功能區控制項319
10.5操作運行時的可視化設計器323
10.5.1利用IRibbonUI對象激活選項卡?323
10.5.2遍歷和讀寫功能區控制項?323
10.6修改可視化設計器的默認模板?324
10.6.1內置選項卡改為自定義選項卡?325
10.6.2移除默認的Group1326
10.7小結?326
第11章使用XML實現customUI327
11.1RibbonXML概述?327
11.1.1可以定製的場所328
11.1.2使用方式?328
11.2VSTO項目中實現RibbonXML329
11.2.1創建Ribbon類?329
11.2.2重寫CreateRibbonExtensibility-Object函式?330
11.3GetCustomUI函式330
11.3.1RibbonID參數331
11.3.2回調函式?333
11.3.3IRibbonUI對象?334
11.3.4RibbonXML代碼的返回方式335
11.4RibbonXML設計實例分步講解?336
11.4.1使用類創建Ribbon接口336
11.4.2回調函式的查詢340
11.4.3使用VisualStudio的XML編輯器341
11.4.4使用外部XML檔案?344
11.4.5動態生成XML代碼?346
11.5其他控制項和回調處理?348
11.5.1處理以on開頭的回調函式348
11.5.2處理以get開頭的回調函式351
11.6使用自定義圖示?354
11.6.1loadImage-image354
11.6.2getImage?358
11.7小結363
第12章自定義任務窗格?364
12.1創建任務窗格364
12.2處理任務窗格的可見性367
12.3處理任務窗格的停靠位置?368
12.4任務窗格操作Office對象?369
12.5使用任務窗格的事件?370
12.5.1任務窗格的可見性同步customUI控制項370
12.5.2通過任務窗格的停靠位置改變控制項布局373
12.6處理新視窗的任務窗格375
12.7任務窗格中加入WPF用戶控制項?379
12.8小結?384
第13章VSTO開發項目實戰385
13.1Excel外接程式開發:數組公式的自動擴展386
13.2Word外接程式開發:表格內容自動匯總工具389
13.3PowerPoint外接程式開發:幻燈片導出為圖片391
13.4Outlook外接程式開發:來信自動執行任務395
13.5小結?398
第14章VSTO外接程式的打包與發布?399
14.1簡單發布399
14.1.1從部署檔案中獲取安裝信息?400
14.1.2寫入註冊信息?401
14.1.3刪除註冊信息?401
14.1.4使用VBA實現自動安裝和卸載Office外接程式401
14.2使用InnoSetup製作安裝包404
14.2.1iss腳本檔案的構成404
14.2.2製作iss腳本檔案405
14.2.3產品的安裝和卸載?407
14.2.4使用iss模板檔案408
14.3小結?409
第15章開發Office文檔?410
15.1創建Excel工作簿項目?410
15.2使用Office事件?412
15.3添加customUI?414
15.4使用文檔操作窗格416
15.5NamedRange宿主控制項?419
15.6ListObject宿主控制項423
15.7運行時動態增刪宿主控制項?428
15.8VSTO外接程式向工作表增刪控制項431
15.9Office文檔的發布?433
15.10創建Word文檔項目433
15.11文檔上添加宿主控制項?436
15.12小結439
第16章Office2003的VSTO開發440
16.1開發環境配置440
16.1.1Office2003的安裝?440
16.1.2VisualStudio2008的安裝441
16.1.3安裝Office2003補丁?443
16.2Office2003外接程式?444
16.3Office2003文檔自定義項?446
16.3.1Excel2003工作簿的開發446
16.3.2Word2003文檔的開發450
16.4小結?452
第17章Excel-DNA開發入門453
17.1Excel-DNA入門概述?453
17.1.1Excel-DNA開發的意義和優勢453
17.1.2Excel-DNA與VSTO的比較454
17.1.3認識Excel-DNA開發包454
17.1.4Excel-DNA的載入方式?455
17.2.NET程式的編譯?456
17.2.1編譯生成.exe執行檔?458
17.2.2編譯生成.dll動態程式庫459
17.3使用記事本創建Excel-DNA項目?459
17.3.1dna檔案的部署460
17.3.2dll檔案的生成460
17.3.3xll檔案的拷貝461
17.3.4功能測試461
17.4Excel-DNA項目的打包463
17.5小結?464
第18章Excel-DNA函式設計465
18.1自定義函式的屬性修飾465
18.1.1更改函式的屬性465
18.1.2更改函式參數屬性?466
18.2函式的參數類型?468
18.2.1工作表的一行或者一列作為參數469
18.2.2工作表的矩形區域作為參數470
18.3函式的返回值類型471
18.3.1返回一維數組?471
18.3.2返回二維數組?472
18.4小結?473
第19章使用VisualStudio進行Excel-DNA開發?474
19.1創建Excel-DNA類庫項目475
19.1.1添加ExcelDna.Integration引用475
19.1.2修改函式代碼?477
19.1.3添加dna檔案?477
19.1.4生成dll檔案479
19.2ExcelVBA中調用Excel-DNA載入項中的函式和過程481
19.3Excel-DNA項目的啟動和卸載事件482
19.4自定義函式和參數的智慧型感知設計484
19.4.1獨立載入
19.4.2引用並打包ExcelDna.IntelliSense.dll486
19.5Excel-DNA項目的調試490
19.6Excel-DNA中使用customUI?493
19.6.1考慮Excel版本498
19.6.2使用自定義圖示500
19.7Excel-DNA中使用任務窗格503
19.8Excel-DNA中使用Excel事件?506
19.9Excel-DNA中使用Office工具列?510
19.10使用NuGet程式包管理器快速創建Excel-DNA項目515
19.10.1工作表標籤右鍵選單設計517
19.10.2排序功能設計?520
19.11小結523
第20章語言差異和轉換技巧524
20.1VB.NET與VBA的語言差異?524
20.1.1My對象524
20.1.2Continue和自身賦值語句526
20.1.3字元串是對象?526
20.1.4不能使用默認屬性?526
20.1.5調用過程、函式、對象的方法必須使用圓括弧527
20.1.6窗體和控制項的變化?527
20.1.7顏色的設定和獲取?527
20.2VB.NET與C#的語言差異?529
20.2.1程式結構529
20.2.2命名空間的導入方式530
20.2.3數據類型關鍵字530
20.2.4變數、常量的聲明方式?530
20.2.5過程、函式的聲明和調用方式530
20.2.6類型轉換方式?531
20.2.8邏輯運算符531
20.2.9字元串連線531
20.2.10條件選擇結構?532
20.2.11循環結構?532
20.2.12數組的聲明和元素的訪問533
20.2.13特殊字元串常量的表達?533
20.2.14異常處理?533
20.2.15事件的動態增加和移除?534
20.3VBA代碼如何轉換為C#534
20.3.1補全VBA代碼?534
20.3.2VBA改寫C#的注意點?535
20.3.3ExcelVBA轉C#?537
20.3.4OutlookVBA轉C#538
20.4小結?539

相關詞條

熱門詞條

聯絡我們