2010-09-28 33 views
6

我從來沒有使用VSTO,我發現很難找到2010年如何使用VSTO 2010爲Excel

一個很好的學習幫助我需要的是簡單的顯示由名工作表,我有一個商業工作簿有42張工作表(我經過猜測20次,但在計算後發現了一個令人驚訝的數字)。我想使用VSTO添加功能區(這部分很簡單),以便員工輕鬆導航大量頁面。我似乎無法找到c#代碼來顯示特定的工作表(最好通過名稱),我可以簡單地添加到按鈕的單擊事件。

由於

回答

10

調用Activate方法工作表對象(Microsoft.Office.Tools.Excel.Worksheet類型的)上。

您可以通過名字從你的ThisWorkbook類中或通過Globals.ThisWorkbook如下做到這一點:

private Excel.Worksheet GetWorksheetByName(string name) 
{ 
    foreach (Excel.Worksheet worksheet in this.Worksheets) 
    { 
    if (worksheet.Name == name) 
    { 
     return worksheet; 
    } 
    } 
    throw new ArgumentException(); 
} 

private void ActivateWorksheetByName(string name) 
{ 
    GetWorksheetByName(name).Activate(); 
} 

調用ActivateWorksheetByName並通過工作表,顯示的名稱。

+0

如何從Ribbon類內訪問ThisWorkBook實例?我似乎無法解決這個問題,而且我顯然不希望再推出另一個。 – 2010-09-28 14:44:12

+2

您可以通過Globals.ThisWorkbook通過Globals類訪問它。 – 2010-09-28 15:13:59

+0

謝謝理查德,我一進入辦公室就會嘗試。我非常需要找到一本好VSTO 2010的書。看起來,我在網上找到的99%已經過時了,而且我不知道哪個1%是有用的。 – 2010-09-28 15:28:56