1
使用Excel Interop,我试图遍历所有工作表中的所有QueryTable并删除它们。我有了这个代码,它的工作原理:在Excel 2007工作簿中删除所有QueryTable
> // loop through each Worksheet
> for (int i = 1; i <= workbook.Sheets.Count; i++)
> {
> sheet = (Worksheet)workbook.Sheets.get_Item(i);
>
> // loop through each queryTable on each Worksheet
> int queryTableCount = sheet.QueryTables.Count;
> for (int j = 1; j <= queryTableCount; j++) {
> sheet.QueryTables.Item(1).Delete();
> }
> }
这对于一些数据连接/文件,但对于其他的“QueryTables.Count”返回零工作得很好 - 尽管我知道有是连接。连接是在Excel 2007中通过数据选项卡 - >从其他源 - >从Microsoft Query中创建的。有没有人遇到这个问题?
似乎在VBA不同的方式处理它们。列举Listobjects也在那里工作。 – pauliephonic 2011-04-01 11:56:32