2

Microsoft Excel Interop を使用しているときにシナリオがあります。

System.Collections.IEnumerator wsEnumerator = excelApp.ActiveWorkbook.Worksheets.GetEnumerator();
while (wsEnumerator.MoveNext())
{
    wsCurrent = (Excel.Worksheet)wsEnumerator.Current;
    //Worksheet operation Follows   
}

私はワークシートを操作しているので、これにチャートを含めることはできません。私が達成したいのは、シートを操作し、それがワークシートかチャートかを確認し、それに応じて行動することです。

シートには、ワークシート、チャート、および「Excel 4.0 マクロ」の両方が含まれているため、各エントリは、言及されたタイプのいずれかを保持できるため、シートのタイプは何ですか。

System.Collections.IEnumerator wsEnumerator = workBookIn.Sheets.GetEnumerator();
while (wsEnumerator.MoveNext())
{
    //Identify if its a chart or worksheet
}
4

2 に答える 2

1

現在の列挙子のタイプを確認して解決しました

var item = wsEnumerator.Current;                   
if (item is Excel.Chart)
{
    //Do chart operations
}
else if (item is Excel.Worksheet)
{
    //Do sheetoperations
}
于 2013-04-25T13:37:10.343 に答える