發表於2024-12-14
Excel VBA與VSTO基礎實戰指南 pdf epub mobi txt 電子書 下載
目前國內 VBA 圖書講插件開發思路的書極少,而市場對插件的需求卻極大,開發插件有較廣闊的前景。《Excel VBA與VSTO基礎實戰指南》不僅用較大的篇幅講述插件開發相關的知識,而且加入瞭執行插件命令後可以撤銷的設計思路,這在 VBA 圖書市場上並無先例。《Excel VBA與VSTO基礎實戰指南》除 VBA 外,還提供 VSTO 知識,采用 VB.net 語法編寫。
VSTO 比 VBA 更強大,能實現的功能也更多,同時還更安全。《Excel VBA與VSTO基礎實戰指南》詳細羅列瞭VBA與VSTO在代碼上的差異,然後演示修改VBA代碼,使其符閤VB.net語法規則的基本思路,從而讓讀者快速學會利用 VSTO 開發 Excel 插件。掌握《Excel VBA與VSTO基礎實戰指南》第16章到第19章的知識,僅需半個月即可學會VSTO,不需要像學習C#那樣,耗費半年甚至一兩年時間。
《Excel VBA與VSTO基礎實戰指南》屬於學習Excel VBA的初中級教材,重點闡述瞭Excel VBA的基本理論、代碼自動化以及開發Excel插件的思路。通讀《Excel VBA與VSTO基礎實戰指南》可以輕鬆應對製錶工作中的疑難,同時還可以開發商業插件。《Excel VBA與VSTO基礎實戰指南》包括五部分內容,開頭部分簡述自動化操作的意義和成果展示;第二部分詳細剖析VBA 的所有基礎概念,包含代碼的存放位置、寫書方式、調用方式,認識對象、屬性、方法與事件,以及理解變量、常量與數據類型並且掌握循環語句、條件語句、防錯語句等知識;第三部分是VBA的高級應用,包含數組、窗體、字典、功能區設計、插件開發和撤銷代碼等知識;第四部分介紹通過VSTO開發Excel插件;第五部分提供365個VBA常見疑難解答。《Excel VBA與VSTO基礎實戰指南》每段代碼都有思路分析,且對每句代碼都提供瞭代碼含義的詳細注釋,力求使講解過程可以更加精準,讓代碼更易理解,為讀者提供更優秀的閱讀體驗。
羅剛君,網名andysky,從事Excel研究及VBA二次開發10多年,擅長Excel函數、圖錶、透視錶和VBA,尤其對Excel VBA有著相當豐富的開發經驗和熟練的實戰技能,也擁成豐碩的開發成果。
作者擔任過近10個Excel相關論壇的版主,著有15本Excel圖書,書名如下:
1.《Excel 2007 VBA範例大全》
2.《Excel 2007技法與行業應用實例精講》
3.《Excel 2007 VBA開發技術大全》
4.《Excel 2007函數案例速查寶典》
5.《Excel VBA程序開發自學寶典》
6.《Excel 2010 VBA編程與實踐》
7.《Excel 2010函數與圖錶速查手冊》
8.《Excel VBA程序開發自學寶典(第2版)》
9.《Excel函數、圖錶與透視錶從入門到精通》
10.《來吧!帶你玩轉Excel VBA》
11.《Excel VBA程序開發自學寶典(第3版)》
12.《Excel 2013函數案例自學寶典(實戰版)》
13.《Excel 2013 VBA編程與實踐》
14.《Excel 2016實用技巧自學寶典》
15.《Excel VBA與VSTO基礎實戰指南》
第 1 章 自動化操作 . 1
1.1 自動化操作的價值 1
1.2 利用宏簡化日常工作3
1.3 使用 VBA 強化 Excel 功能.12
1.4 Excel VBA 的發展前景 15
1.5 課後思考 16
第 2 章 代碼應用基礎 17
2.1 區分 VBE 代碼窗口 .17
2.2 錄入代碼 25
2.3 四種代碼執行方式 . 32
2.3.1 調用快捷鍵 . 32
2.4 保存代碼 36
2.5 讓代碼暢通無阻 . 37
2.6 反復調用相同代碼 39
2.7 課後思考. 40
第 3 章 從概念開始認識 VBA .42
3.1 認識過程.42
3.2 關於參數. 49
3.3 理解對象54
3.4 對象的屬性與方法 56
3.5 對象的事件. 59
3.6 課後思考 63
第 4 章 對象及其層次結構.65
4.1 查看所有對象 65
4.2 對象的層次與引用方式. 67
4.3 Range 對象 . 74
4.4 圖形對象 95
4.5 錶對象 98
4.6 工作簿對象 101
4.7 Excel 應用程序對象 103
4.8 課後思考 105
第 5 章 揭密數據類型與變量、常量 106
5.1 數據類型 106
5.2 定義變量 112
5.3 定義常量 122
5.4 課後思考 123
第 6 章 條件語句與循環語句 125
6.1 If 語句解析. 125
6.2 Select Case 語句解析. 140
6.3 IIf 函數 . 145
6.4 For Next 語句解析. 147
6.5 For Each…Next 語句解析. 153
6.6 Do Loop 語句解析 . 156
6.7 課後思考 166
第 7 章 四類常見對象的應用案例 168
7.1 單元格對象 168
7.2 圖形對象 186
7.3 工作錶對象 194
7.4 工作簿對象 204
7.5 課後思考 211
第 8 章 深入剖析 VBA 的各種事件 . 212
8.1 事件的級彆與順序 212
8.2 禁用與啓用事件 . 215
8.3 工作錶事件詳解 . 217
8.4 工作簿事件詳解 . 229
8.5 應用程序級事件詳解. 239
8.6 按時間執行代碼 242
8.7 課後思考 244
第 9 章 處理代碼錯誤 245
9.1 代碼錯誤類型分析 245
9.2 錯誤處理語句 248
9.3 案例應用 258
9.4 課後思考 265
第 10 章 使用數組提升程序效率 267
10.1 基本概念 . 267
10.2 數組函數 . 281
10.3 案例分析 . 289
10.4 課後思考 . 302
第 11 章 集閤與字典的應用 .303
11.1 Collection:集閤 303
11.2 Dictionary:字典 310
11.3 課後思考 . 321
第 12 章 設計程序窗體 . 323
12.1 窗體與控件簡介 323
12.2 設置屬性 . 335
12.3 窗體與控件的事件 355
12.4 窗體應用實戰 366
12.5 課後思考 . 375
第 13 章 定義 Ribbon 功能區選項卡 377
13.1 功能區選項卡開發基礎. 377
13.2 Ribbon 定製之語法分析 . 380
13.3 使用迴調函數強化功能區. 395
13.4 使用模闆 . 408
13.5 課後思考 . 412
第 14 章 開發通用插件. 413
14.1 插件的分類 413
14.2 漫談加載宏 414
14.3 製作工作錶批量重命名插件 . 417
14.3.6 安裝並測試功能 422
14.4 課後思考 . 425
第15 章 讓 VBA 代碼也能撤銷 .426
15.1 突破撤銷限製 426
15.2 設計可撤銷的插件 428
15.3 課後思考 . 436
第 16 章 使用 VSTO 設計插件的基本步驟.437
16.1 安裝 Visual Studio 2015 437
16.2 Excel 插件開發流程 440
16.3 將插件打包成安裝程序. 444
16.4 課後思考 . 449
第 17 章 VSTO 與 VBA 的差異450
17.1 變量、常量與數據類型. 450
17.2 函數 . 452
17.3 數組 . 454
17.4 窗體 . 455
17.5 字典與正則錶達式 459
17.6 菜單與功能區 460
17.7 管理文件與目錄 461
17.8 雜項 . 463
17.9 課後思考 . 465
第 18 章 將 VBA 插件升級為 VSTO 插件 466
18.1 設計插件框架 466
18.2 升級 Sub 過程“創建工資條” . 468
18.3 升級窗體“文件批量命名” . 470
18.4 升級事件過程“零值控製器” . 477
18.5 打包安裝程序 478
18.6 課後思考 481
第 19 章 VSTO 的更多高級應用482
19.1 添加窗體狀態欄 482
19.2 創建任務欄圖標 484
19.3 自動發郵件 486
19.4 全自動閤並數據 488
19.5 設計任務窗格 494
19.6 課後思考 . 498
第 20 章 365 個 VBA 常見問題答疑499
1.2.4 宏的優缺點分析
根據前麵三個小節,已經對宏有瞭基本的認識,總體來說宏有以下特性。
1.優點
(1)宏代碼嚴格來說不是程序,錄製宏及調用宏也不算編程。但是錄製宏能實現與編程相近的功能,讓原本需要多個步驟的工作一鍵完成,而且宏代碼可以反復調用。
(2)錄製宏時可以按操作順序如實記錄所有操作信息,所以執行宏與錄製宏時的操作效果是完全一緻的。而在實際工作中,當步驟較多且需要重復操作時,手動操作較難確保每次的操作順序一緻,也難確保結果的保存位置、大小等參數一緻,甚至遺漏某個操作步驟的可能性也同樣存在。(3)宏是以代碼的形式存在的,而代碼可以調整順序或者增刪語句,所以當工作需求變化時,稍微調整宏代碼即可完成所有工作,而不需要重新執行可能需要幾十個步驟纔能完成的工作。
(4)另外, 學習錄製宏僅需三分鍾, 在錄製宏時隻需要做基礎操作, 不需要理會代碼的含義、語法、思路,宏代碼就會自動生成,這較之於其他不帶錄製功能的編程語言有更多的優越性。
2.缺點
微軟公司在 Office 平颱中推廣宏僅短短幾年,之後就用 VBA 替代瞭宏的地位,無疑是宏的局限性阻礙瞭它的發展,而 VBA 正好可以彌補宏的缺陷,它在靈活性、效率和全麵性方麵都遠遠超過宏。
首先,並非所有操作都能通過錄製宏産生相應的代碼,這意味著宏的全麵性不足。
其次,錄製宏多數時候會産生一些冗餘代碼,從而降低宏的執行效率。例如前麵兩次錄製宏時,“設置單元格的字號為 20”這一個步驟産生的代碼包括設置字號、字體、刪除綫、陰影、主題顔色等,如以下代碼所示:
With Selection.Font
.Name = "宋體"
.Size = 20
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleSingle
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
如果采用 VBA 編程,那麼隻需要“Selection.Font.Size = 20”一句代碼即可滿足工作需求,所以宏與 VBA 的效率差異較大。
再次,錄製宏時隻能記錄操作,宏代碼不會執行判斷。例如可以錄製“刪除 A 列”的操作,但是無法通過錄製宏實現“假設 A 列空白則整列刪除”這類需求。而且,即使是能錄製的操作也僅針對單一的操作,無法錄製可循環的操作。例如刪除工作錶 200 列數據中所有奇數列的值,如果采用錄製宏産生代碼,那麼在錄製時需要刪除 100 次,産生超過 200 行的代碼。如果采用 VBA編程,那麼僅需以下幾句代碼即可完成,而且將極大節省執行時間。
Sub 刪除前 200 列中奇數列的值() '此過程代碼放在模塊中執行
For i = 1 To 200 Step 2 '從 1 循環到 200,步長值為 2(即隔 2 列刪除一列的值)
Columns(i).Clear '將第 i 列的值刪除
Next i '執行下一輪循環
End Sub
最後,錄製宏的靈活性差。不管是單元格,還是工作錶、圖片、圖錶,在錄製宏時都采用固定的名稱,一旦實際情況變化時,錄製宏産生的代碼將會齣錯。例如在空白工作錶中錄製創建矩形並設置其格式的宏, Excel 會自動將圖形命名為“矩形 1”,並對“矩形 1”設置格式。然而如果實際執行宏的環境産生瞭變化,宏代碼在調用“矩形 1”時則可能失敗。隻有采用 VBA 編程纔能讓代碼具有靈活性,自動適應環境的變化,讓代碼可防錯,並且通用於不同環境。所以本書的重點是 VBA 教學,而不局限於應用宏。
Microsoft Excel 是製錶工具中最強大的軟件,但是 Excel 內置的功能無法滿足相對復雜的工作需求,而且不具備自動化操作的特性。在此前提下, VBA 應運而生, 它可以讓復雜操作簡單化,讓煩瑣工作自動化。
目前 Microsoft Office 已升級到 2016 版, Excel 自帶的 VBA 版本為 7.1。本書以 Excel 2016為基礎編寫,但是由於 Excel 2010、 Excel 2013 和 Excel 2016 的 VBA 的差異微乎其微,小到可以忽略,因此讀者也可以使用 Excel 2010、 Excel 2013 來學習本書的知識。
本書目的:
本書重點有兩個,其一是普及 Excel VBA 基礎知識,其二是開發 Excel 插件。本書用瞭超過 50%的篇幅闡述 Excel VBA 的基本概念與語法規則,力圖使讀者在強化編程理論知識的基礎上再學習插件開發等進階應用。在基礎章節中,重點展示瞭過程、參數、變量、常量、數據類型、對象、屬性、方法和事件等概念,並通過第 7 章和第 8 章的數十個案例印證這些理論的價值,以及調用思路。
本書從第 13 章開始,重點講述開發 Excel 插件的知識和步驟,並提供瞭諸多模闆供讀者調用。 Excel 插件從大體上分為兩類,其一是開源的加載宏文件,其二是受保護的加載項。加載宏通常為 xla 或者 xlam 格式,直接在 VBA 的代碼編譯器中編寫,本書不僅詳細演示瞭開發加載宏的所有步驟和思路,還提供瞭讓插件執行後可以撤銷的方法,讓用戶在使用過程中不用擔心覆蓋重要數據,從而提升插件的品質。
加載項通常是 DLL 格式,使用 VB 或者 VB.net 開發, VB 開發的插件無法用於 64 位的 Office軟件,因此本書為讀者展示瞭 VB.net 中的 Office 插件開發工具 VSTO 的應用。
VSTO 屬於 Visual Studio 平颱中的工具,本書以 Visual Studio 2015 為例,詳細分析瞭 VSTO
與 VBA 代碼的語法差異,並通過三個最具代錶性的插件設計步驟演示利用 VSTO 封裝代碼的過程,同時也為讀者提供諸多模闆,讓大傢在實際工作中利用這些模闆快速地設計齣自己的插件。
本書結構:《Excel VBA與VSTO基礎實戰指南》大體分為五部分:
第一部分包含第 1 章,主要說明 VBA 的價值,從而提升讀者對 VBA 的學習熱情與興趣。
第二部分最重要,詳細剖析瞭 VBA 的基礎理論,包含第2章到第9章。此部分內容重點展示瞭 Excel VBA 的所有基礎理論,包含代碼的存放位置、輸入代碼的方式、調用代碼的方式、如何讓代碼運行時暢通無阻,理解什麼是過程、對象、參數、事件、屬性、方法、變量、常量和數據類型,並逐一講解瞭工作中最有用的條件語句、循環語句和防錯語句的語法,同時提供瞭數十個案例來加深讀者對這些基礎理論的理解。
第三部分包含第 10 章到第 15 章,分彆介紹瞭通過數組優化代碼,利用字典去除重復值,以及設計功能區中的菜單的思路,並提供瞭大量的模闆。最後講解開發通用插件,並讓插件在執行過程中可以撤銷,這是本書的一大特色內容。
第四部分屬於VSTO的應用,也就是利用VB.net 來封裝VBA代碼,將它打包成受保護的安裝程序,從而提升插件代碼的安全性和專業性。
第五部分包含第20章,本章為讀者提供 365個VBA 思考題目,並在贈送的案例文件中提供瞭答案。
本書特點:
相比同類書籍,本書在內容編排上具有以下特點:
1.本書對於 Excel VBA 的基礎理論有著相當詳細的講解,包含 200 多頁, 8 個章節。要學好編程必須基礎理論掌握通透,否則編寫三五年代碼後仍然不能得心應手。基礎理論是程序員十分重要的必備素質,而不應該隻重實戰輕理論。
2.目前國內 VBA 圖書講插件開發思路的書極少,而市場對插件的需求卻極大,開發插件有較廣闊的前景。本書不僅用較大的篇幅講述插件開發相關的知識,而且加入瞭執行插件命令後可以撤銷的設計思路,這在 VBA 圖書市場上絕無僅有。
3.本書除 VBA 外,還提供 VSTO 知識,采用 VB.net 語法編寫。
VSTO 比 VBA 更強大,能實現的功能也更多,同時還更安全。本書詳細羅列瞭 VBA 與 VSTO在代碼上的差異,然後演示修改 VBA 代碼,使其符閤 VB.net 語法規則的基本思路,從而讓讀者快速學會利用 VSTO 開發 Excel 插件。掌握本書第 16 章到第 19 章的知識,僅需半個月即可學會VSTO,不需要像學習 C#那樣,耗費半年甚至一兩年時間。
4.本書在每章末尾會提供 5 個思考題,最後一章再追加 365 個思考題,一共 460 個。期望讀者通過這些題目擴展知識麵,同時能加深對書中理論知識的印象。
5.本書提供讀者交流群,讀者購書後可以加群下載案例文件,同時可以在群裏與作者交流,加快學習進度。
齣於為瞭工作能力提升買的本書,但是最近工作有點忙沒有時間看!
評分大贊,羅剛君老師!
評分這本書是我最喜歡的VSto書籍
評分非常容易上手的vba教學書,比“簡單”那本兒深一點。
評分京東商城很值的信賴,已經堅持用京東購物一年多瞭
評分印刷質量不錯,字跡清晰,要花時間慢慢學習瞭。
評分書很不錯,快遞師傅很給力!……
評分這本程序寶典,查閱方便,好學好用。
評分講的比較細,目前正在入門階段,總體好評
Excel VBA與VSTO基礎實戰指南 pdf epub mobi txt 電子書 下載