2014-04-17 49 views
0

因此,我已在運行時創建一個的ListObject在Excel中控制:Excel中的ListObject和控制 - 拆卸

list = ws.Controls.AddListObject(somerange,"somename") 

現在我有一個的ListObject和片材上的控制:ws.ListObjects.Count = 1和WS .Controls.Count = 1,所以在使用

ws.Controls.RemoveAt(0) 

僅刪除控制,而不是本身的ListObject我要如何「分離」,從的ListObject的控制?

保存該文件並重新打開它會執行此操作 - 它只在頁面上留下ListObject,控制消失。但是如何在運行時執行它?

+0

嘗試開啓宏記錄器並添加'ListObject'。這會給你正確的語法。 –

+0

對不起,忘了提及這是在VB.NET中,而不是VBA,我最初需要Control來操縱'ListObject' - 填充來自'DataTable'的數據。只是需要稍後擺脫它,因爲它會做一些奇怪的事情('SheetChange'事件觸發兩次),而不刪除'ListObject'本身。 – user3301313

+0

KimI認爲你仍然可以做ws.Listobjects.Add。但我現在無法測試它。 –

回答

0

好吧,這是事情。根據上述代碼,在程序結束時,您必須清除list變量。我以爲垃圾收集器會這樣做,但可能我錯了。在子結尾處的list.Dispose()可以做到這一點,雖然Control仍然存在,但沒有更奇怪的事情發生。