Using C# in .NET 3.5 with Visual Studio 2008, I am trying to set focus (or activate) a specific worksheet in an open workbook:
Here are some properties:
public Excel.Application xlApp {get;set;}
public Excel.Workbook xlWorkBook { get; set; }
public Excel.Worksheet xlWorkSheet { get; set; }
public Excel.Range range { get; set; }
And here is how I am trying to select a specific worksheet:
(xlWorkSheet)Application.ActiveWorkbook.Sheets[FormControls.WorksheetFocus]).Select(Type.Missing);
And I have also tried this way:
((Excel.Worksheet)this.Application.ActiveWorkbook.Sheets[1]).Select();
What am I doing wrong? How do I select a specific worksheet in a workbook using C#?
explanation of where the definitions are:
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; }
and everything is in the same class and namespace
here is how it is 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);
You can use the following code :
Worksheet sheet = (Worksheet)xlApp.Worksheets[1];
sheet.Select(Type.Missing);
or
sheet.Activate();
I have used this code and it works fine for me.