2012-03-29 79 views
0

我有一個Excel工作簿,其中有幾個工作表。工作表中的表格已使用Excel中的名稱管理器分配名稱。有沒有辦法獲得這些表名稱的列表,而不是工作表名稱?使用Excel interop在工作簿中列出分配的表名稱

例如,在工作簿被定義爲Microsoft.Office.Interop.Excel.Workbook:

var names = (workbook.Names as System.Collections.IEnumerable).Cast<Name>(); 

返回定義的名稱的列表中的範圍內的工作簿。此外:

var worksheets = workbook.Worksheets.Cast<Worksheet>(); 

返回工作簿中工作表的列表,其名稱與工作表的選項卡名稱相同。

這些都沒有列出它們的分配名稱。他們只按工作表名稱列出表格。我希望我已經明確提出了這個問題,但如果需要的話,我可以提供一個例子。

回答

2

由於歷史原因,Excel中的表稱爲OM中的列表。

你正在尋找的是ListObjectsWorksheet。 ListObject附有一個Range對象,您可以使用它來確定名稱。 DisplayName可能會返回該名稱 - 我不確定。

相關問題