[VSTO] Excel – Hello Word!!!
要瞭解Excel VSTO 2010 就要先知道它有哪些物件,Excel 物件模型概觀,比較常用的基礎模組如下:
-
Microsoft.Office.Interop.Excel.Application:代表 Excel 應用程式
-
Microsoft.Office.Interop.Excel.Workbook:代表 Excel 應用程式中的單一活頁簿。
-
Microsoft.Office.Interop.Excel.Worksheet:代表活頁簿中的工作表。
-
Microsoft.Office.Interop.Excel.Range:代表工作表中的儲存格。
建立專案
接下來建立一個新的活頁簿專案
建立新的文件
加入控制項
VSTO 2010會幫我們將Excel變成ThisWorkbook.cs / 工作表1.cs / 工作表2.cs / 工作表3.cs,這樣的架構在跟VBA長的很像,到目前為止只是很像而已,但實際上整個架構都是不同於以往的VBA。
類別與活頁簿
ThisWorkbook.cs是代表活頁簿,工作表1.cs ~工作表3.cs是活頁簿裡的工作表(WorkSheet) ,所以一個Excel檔案打開生命週期就是從ThisWorkbook開始,ThisWorkbook就是一個 WorkbookBase 類別 ,裡面的工作表就是 WorksheetBase 類別,要注意的是不同的.Net版本會對應到不同的類別名稱,VSTO 2010的軟體架構似乎又有很大的變動。
.NET 2.0 http://msdn.microsoft.com/zh-tw/library/microsoft.office.tools.excel%28VS.80%29.aspx
.NET 3.5 http://msdn.microsoft.com/zh-tw/library/microsoft.office.tools.excel%28VS.90%29.aspx
.NET 4.0 http://msdn.microsoft.com/zh-tw/library/microsoft.office.tools.excel.aspx
Visual Studio Tools for Office Runtime 概觀
下圖是表較圖,原本在2.0的Worksheet 類別到4.0變成Worksheet 介面
類別成員的使用
在ThisWorkbook.cs可以使用 WorkbookBase 類別所擁有的成員。
當然在工作表裡也是一樣可以使用基礎類別 WorksheetBase 類別 的成員。
在VSTO 2010裡還有一個很重要的物件叫Globals 類別,它是用來存取Excel專案中的類別,跨工作表存取資料就靠它了。
讀寫儲存格
接下來在button.Click事件裡寫程式碼,跟VBA一樣,還是用Range以及Cells來撈資料。
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET