Mario Meir-Huber

C#, VB.Net, Silverlight, XNA, VSTO, Sharepoint

VSTO und Excel: Was ist eigentlich der Unterschied zwischen Worksheets und Sheets?

In "ThisWorkbook" der Globals Auflistung gibt es 2 ähnliche Auflistungen für Tabellen: Worksheets und Sheets. Doch dies sieht nur auf dem ersten Blick so aus: tatsächlich ist es jedoch so, das Worksheets nur ein Teil von Sheets ist: nämlich die Tabellen selbst. Sheets enthält noch zusätzlich die Charts. Dies kann dann zu Fehlern führen wenn man mit einem ForEach Statement über alle Tabellen laufen will.

Folgender Code würde damit zu keinem Problem führen:

foreach (Excel.Worksheet sht in Globals.ThisWorkbook.Worksheets)
{
    listBox1.Items.Add(sht.Name);
}

Probleme gibt es dann jedoch mit folgendem Code, sofern sich Diagramme im Projekt befinden:

foreach (Excel.Worksheet sht in Globals.ThisWorkbook.Sheets)
{
     listBox1.Items.Add(sht.Name);
}

 

Wenn keine Charts drin sind gehen beide ;)

Attachment: error.jpg
Posted: Feb 23 2009, 10:10 von mario_mh | mit 1 comment(s)
Abgelegt unter: , ,

Kommentare

VSTO - Taskforce sagte:

In "ThisWorkbook" der Globals Auflistung gibt es 2 ähnliche Auflistungen für Tabellen: Worksheets

# März 3, 2009 10:26