2010-09-28 4 views
6

nigdy nie używane VSTO i jestem trudno jest znaleźć dobrą pomoc dla uczenia 2010.Jak mogę wyświetlić arkusz według nazwy przy użyciu VSTO 2010 for Excel

Moja potrzeba jest proste, mam skoroszytu biznesu z 42 arkuszami roboczymi (domyśliłem się 20, ale po zliczeniu znalazłem zaskakującą liczbę). Chcę dodać wstążkę (Ta część jest łatwa) za pomocą VSTO, aby umożliwić pracownikom łatwą nawigację po dużej liczbie stron. Nie mogę znaleźć kodu C# do wyświetlenia konkretnego arkusza roboczego (najlepiej po nazwie), który mogę po prostu dodać do zdarzenia kliknięcia przycisków.

Dzięki

Odpowiedz

10

wywołać metodę Activate na obiekt arkusza (typu Microsoft.Office.Tools.Excel.Worksheet).

Można to zrobić poprzez nazwę z poziomu klasy ThisWorkbook lub poprzez Globals.ThisWorkbook następująco:

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(); 
} 

Wywołać ActivateWorksheetByName i podać nazwę arkusza do pokazania.

+0

Jak uzyskać dostęp do instancji ThisWorkBook z poziomu klasy wstążki? Nie mogę się na to nabrać i oczywiście nie chcę wymyślać kolejnej. –

+2

Możesz uzyskać do niego dostęp za pośrednictwem klasy 'Globals' jako' Globals.ThisWorkbook'. –

+0

Dzięki Richard, spróbuję to jak tylko dostanę się do biura. Potrzebuję depotately znaleźć dobrą książkę VSTO 2010. Wygląda na to, że 99% tego, co znajduję w Internecie, jest nieaktualne i nie wiem wystarczająco dużo, aby powiedzieć, który 1% byłby przydatny. –

Powiązane problemy