con C# en .NET 3.5 con Visual Studio 2008, estoy tratando de establecer el foco (o activar) una hoja de trabajo específico en un libro abierto:usando C# para seleccionar una hoja de cálculo en Excel
Aquí hay algunas propiedades:
public Excel.Application xlApp {get;set;}
public Excel.Workbook xlWorkBook { get; set; }
public Excel.Worksheet xlWorkSheet { get; set; }
public Excel.Range range { get; set; }
Y aquí es como yo estoy tratando de seleccionar una hoja de cálculo específica:
(xlWorkSheet)Application.ActiveWorkbook.Sheets[FormControls.WorksheetFocus]).Select(Type.Missing);
Y también he tratado de esta manera:
((Excel.Worksheet)this.Application.ActiveWorkbook.Sheets[1]).Select();
¿Qué estoy haciendo mal? ¿Cómo selecciono una hoja de trabajo específica en un libro de trabajo usando C#?
explicación de donde las definiciones son:
namespace EmailSalesVolumeSolution
{
class WorkBook
{
public string MasterFileName { get; set; }
public string[] DistinctEmails { get; set; }
public Excel.Application xlApp {get;set;}
public Excel.Workbook xlWorkBook { get; set; }
public Excel.Worksheet xlWorkSheet { get; set; }
public Excel.Range range { get; set; }
y todo está en la misma clase y espacio de nombres
aquí es cómo se initiliazed:
private void OpenWorkBook()
{
string str;
int rCnt = 0;
int cCnt = 0;
xlApp = new Excel.ApplicationClass();
xlWorkBook = xlApp.Workbooks.Open(MasterFileName, 0, true, 5, "", "", true,
Microsoft.Office.Interop.Excel.XlPlatform.xlWindows,
"\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(FormControls.WorksheetEmails);
Esto solo funciona si establece .Visible = True – Denis