2010-09-28 9 views
6

nunca he utilizado VSTO y estoy teniendo dificultades para encontrar una buena ayuda para el aprendizaje de 2010.¿Cómo puedo mostrar una hoja de trabajo por su nombre utilizando VSTO 2010 para Excel

Mi necesidad es simple, tengo un libro de negocio con 42 hojas de trabajo (originalmente supuse 20 pero después de contar encontré un número sorprendente). Quiero agregar una cinta (Esa parte es fácil) usando VSTO para permitirles a los empleados navegar fácilmente por la gran cantidad de páginas. Parece que no puedo encontrar el código C# para mostrar una hoja de cálculo específica (preferiblemente por nombre) que simplemente puedo agregar al evento click de los botones.

Gracias

Respuesta

10

llamar al método Activate en el objeto de hoja de cálculo (de tipo Microsoft.Office.Tools.Excel.Worksheet).

Usted puede hacer esto por su nombre desde dentro de su clase ThisWorkbookGlobals.ThisWorkbook oa través de la siguiente manera:

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

Llame al ActivateWorksheetByName y pasar el nombre de la hoja para mostrar.

+0

¿Cómo accedo a la instancia de ThisWorkBook desde dentro de la clase de la cinta de opciones? Parece que no puedo entenderlo y, obviamente, no quiero actualizarlo. –

+2

Puede acceder a través de la clase 'Globals' como' Globals.ThisWorkbook'. –

+0

Gracias Richard, intentaré eso tan pronto como entre a la oficina. Necesito desesperadamente encontrar un buen libro de VSTO 2010. Parece que el 99% de lo que encuentro en la web está desactualizado y no sé lo suficiente como para decir qué 1% sería útil. –

Cuestiones relacionadas