Я создал книгу, используя C# excel com interop. У меня есть листы с только данными и сопутствующими графиками. Таблицы и листы находятся на отдельных вкладках excel в книге.C# excel com interop: перемещение диаграмм между листами
Во время создания диаграмм и листов все листы сначала сгруппированы, а группа диаграмм - вторая в списке вкладок. Я хотел бы поместить отдельные вкладки диаграммы сразу после их соответствующих вкладок листа. Это то, что я до сих пор:
private void move_charts_into_position(Excel.Workbook workbook)
{
int tab_count = 1;
foreach (Excel.Chart chart_tab in workbook.Charts)
{
Console.WriteLine(chart_tab.Index.ToString()); //prints chart 1 here
if (tab_count + 1 > workbook.Sheets.Count)
chart_tab.Move(workbook.Sheets[tab_count], Type.Missing);
else
chart_tab.Move(workbook.Sheets[tab_count], workbook.Sheets[tab_count + 1]); //fails at first iteration here
tab_count+=2;
}
}
Это порождает Невозможно получить Move свойство COM исключения класса Chart во время выполнения. Я думаю, что это вероятно, потому что коллекция Sheets передается как arg для Move.
Любые общие предложения, которые могут помочь мне понять эти объекты? У меня есть догадка, что я мог бы использовать некоторые кастинговые трюки, чтобы заставить это работать.
спасибо.