Laden...

Wie springe ich nach dem Öffnen eines Excel-Files zu einem bestimmten Worksheet?

Erstellt von canada vor 8 Jahren Letzter Beitrag vor 7 Jahren 2.229 Views
C
canada Themenstarter:in
17 Beiträge seit 2013
vor 8 Jahren
Wie springe ich nach dem Öffnen eines Excel-Files zu einem bestimmten Worksheet?

Hallo,

ich habe derzeit ein kleines Problem, finde aber trotz einiger Tage suchen keinen Denkfehler, wieso mein Vorhaben nicht geht.

Ich möchte in einer Funktion eine Excel Datei öffnen und zu einem bestimmten Worksheet springen und dann an einer bestimmten Stelle etwas einfügen.

Ich kann dabei Problemlos die Excel Datei laden und an Stelle xyz etwas ändern und einfügen. Was nicht geht, zum gewünschten Worksheet zu springen.

excelFVX = "file://" + item.folder;
Microsoft.Office.Interop.Excel.Application excel = null;
Workbook wb = null;
excel = new Microsoft.Office.Interop.Excel.Application();
excel.Visible = true;
wb = excel.Workbooks.Open(excelFVX, 0, false, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
Sheets sheets = wb.Worksheets;
Worksheet ws = (Worksheet)sheets.get_Item("FVX" + numberFVX);

Excel verbleibt einfach strikt beim ersten Worksheet bzw. bei dem, wo excel geschlossen wurde. Übergebe ich einen Worksheet Namen der nicht vorhanden ist, bekomme ich logischerweise eine Fehlermeldung, das dieses Worksheet nicht vorhanden ist. Aber wieso springt er dann beim laden nicht zu diesem?

1.029 Beiträge seit 2010
vor 8 Jahren

Hi,

nur weil dein Code jetzt eine Referenz geholt hat weiß Excel halt noch lange nicht, dass er nen anderes Sheet anzeigen soll...

Ich denke ws.Activate(); sollte hier schon den gewünschten Effekt erreichen.

LG

2.207 Beiträge seit 2011
vor 8 Jahren

Hallo canada,

bei solchen Problemen kannst du immer davon ausgehen, dass du nicht der erste bist, der davor steht. Das wechseln von Worksheets ist ja eine Kernfunktionalität. Wenn du danach suchst hast du oft schneller eine Lösung.

Google-Suche nach C# excel select worksheet

Gruss

Coffeebean

O
461 Beiträge seit 2009
vor 7 Jahren

Hallo, probier mal das hier:


  //// Sheet über den Namen ansprechen
  XlSheet = (Excel.Worksheet)XlBook.Worksheets.get_Item("Arbeitsplan");