如何唯一標識Microsoft Word表格?

如何唯一標識Microsoft Word表格?

我正在使用 Excel 外掛程式將 Excel 表格中的資料填入 Word 文件中。資料進入文件中的不同 Word 表中。資料的特定子集進入的表由 Excel 表中「目標」欄位中的值決定。

到目前為止,目標列的值和目標表的順序之間存在靜態關係,例如,所有帶有“A”的內容都會進入Word文檔中的第一個表,所有帶有“B”的內容都會進入第二個表, 等等。

現在,使用者在Word 中發揮創意,對表格重新排序、刪除表格、出於樣式目的添加新表格……簡而言之,「屬於'A' 的所有內容都進入要找到的第一個表格」的關係可以不再有保障了

有沒有辦法透過Word用戶介面為Word表設定唯一的ID(我希望用戶自己執行此操作,而不必求助於任何巨集或插件),然後我可以將其用作查找的標識符Excel 巨集中最有可能的目標表?

答案1

沒有任何桌子Word 中除索引之外的屬性要求是唯一的(也可能是ID,但僅當文件另存為網頁時)。

我建議使用表的Title屬性。用戶可以透過以下方式進行設定:

右鍵點選表格 > 表格屬性 > 替代文字 > 標題

您可以透過程式設計方式存取該屬性,如下所示(VBA 範例):

Word.ActiveDocument.Tables.Item(1).Title

您可以遍歷集合來找到正確的Tables表。Title

答案2

如果它必須唯一的名稱,在不啟用通常隱藏在開發人員選單上的功能的情況下可以使用的唯一選項是為每個表分配一個書籤。

一致的方法是使用選擇框選擇表,然後使用“插入”->“連結”->“書籤”指定名稱。但問題是,當用戶重複使用書籤時,Word 不會警告用戶 - 它只是重新定位書籤。因此,如果沒有巨集等,(a) 使用者可以指定任何書籤名稱,這可能會擾亂文件中的其他內容,例如交叉引用,以及 (b) 如果他們指定了標識另一個表的書籤名稱,則表將丟失其書籤- 用戶會注意到嗎?一旦書籤移動,用戶將如何找到未添加書籤的表格?

tbl_透過使用諸如「每個表格書籤名以or開頭tab_」之類的命名約定,可以減少或消除擾亂文件中其他內容的問題。

相關內容