VSTO插件開發(fā)極速入門 VS2022新建Excel插件項目
小目標:
VSTO新建Excel插件項目,并使用VSTO880框架改善編碼體驗
視頻講解
新建VSTO項目 并使用VSTO880框架 視頻講解
如何創(chuàng)建全新的VSTO插件項目
注意項目目錄 盡量保持和我的教程目錄一致 設置在
D:VSTO880Project
注意框架版本 VS2022需要安裝4.0和4.5的框架
在群文件獲取
添加Ribbon功能區(qū)的基本步驟
VS中新建VSTO項目
打開VS 新建項目 選擇VSTO模板
新建完成得到如下界面
添加Ribbon功能區(qū)
在右側(cè)解決方案 項目文件夾右鍵添加–>新建-可視化功能區(qū)
添加新選項卡 刪除內(nèi)置選項卡
先移除默認的選項卡 這個處于功能區(qū) 加載項標簽 一般都不用它
再右鍵添加新選項卡 工具箱中依次拖動Group和Buttondao到右側(cè)Ribbon面板上
原生VSTO中與Excel交互的基本寫法
在Ribbon中添加按鈕 雙擊進入事件代碼 添加代碼如下
可以看到以前直接訪問range屬性這些都要加很長的前綴
非常不方便 這里我給大家提供的Excel880VSTO框架 可以讓代碼書寫變得和VBA一樣簡單
Private Sub Button1_Click(sender As Object, e As RibbonControlEventArgs) Handles Button1.Click 'A1單元格寫入當前時間 Globals.ThisAddIn.Application.Range("A1").Value = Now '對話框彈出當前選定區(qū)域的地址 MsgBox(Globals.ThisAddIn.Application.Selection.address) 'A2單元格寫入當前工作表的名稱 Globals.ThisAddIn.Application.Range("A2").Value = Globals.ThisAddIn.Application.ActiveSheet.name End Sub
Excel880VSTO框架與Excel交互加速寫法
使用Excel880VSTO框架后 代碼精簡如下 具體用法繼續(xù)往下看
Private Sub Button2_Click(sender As Object, e As RibbonControlEventArgs) Handles Button2.Click 'EXCEL880VSTO框架加持后和VBA寫法幾乎一致 'A1單元格寫入當前時間 Range("A1").Value = Now '對話框彈出當前選定區(qū)域的地址 MsgBox(Selection.address) 'A2單元格寫入當前工作表的名稱 Range("A2").Value = ActiveSheet.name End Sub
從群文件下載Excel880VSTO.DLL文件L,復制到Lib文件夾,
下載好Excel880VSTO.DLL文件,本框架會持續(xù)更新
總是使用最新版即可
在剛才新建的項目文件中 新建Lib文件夾 DLl復制進去
引用Excel880VSTO.DLL以及Import語句
右側(cè)解決方案–>引用–>添加引用選擇剛才的Excel880VSTO.DLL文件
ThisAddin和Ribbon代碼區(qū)頂部添加Import語句
加載項入口給Application賦值
這樣 上面的精簡版代碼就生效 以后就可以和寫VBA代碼一樣來寫VSTO代碼了!!!
錄制宏VBA代碼移植示范
選中A1:B10區(qū)域,全體輸入1,選中B1設置黃色背景色,再設置文字加粗 錄制得到VBA代碼如下
這段代碼復制到VSTO中,在沒有Excel880VSTO框架的情況下 會看到很多報錯 需要逐句修改
而使用了Excel880VSTO框架后 這段代碼 可以直接運行!
詳細用法參考1.3到1.9
具體用VBA轉(zhuǎn)VSTO細節(jié)在1.3-1.9學習,后續(xù)會不斷增加核心框架能力
作業(yè)
從VS新建一個新項目,調(diào)用Excel880VSTO框架,錄制一個宏,新增一個sheet,并改名為 aaa ,嘗試移植代碼到VSTO中 點擊按鈕執(zhí)行