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