我在OpenXML API或Word/VSTO API中找不到任何運氣,找到了創建或修改書籤的可見性的方法。即使在Word中手動添加書籤,也無法檢查書籤以隱藏書籤。雖然是「書籤」對話框中的一個複選框,可讓您顯示隱藏書籤。那麼如何在XML中表示隱藏的書籤,並且可以使用Open XML SDK創建它們?或者他們是MS不再希望我們創造的遺產?Word/OpenXML - 如何創建隱藏書籤?
回答
好吧,這比我想象的要容易......你只要在書籤名稱前加上下劃線即可。請注意,這隻能以編程方式完成,而不能在Word中手動添加書籤。
Iiiiiiiiinteresting ....
更新:另一件事,我發現 - 之前,你可以遍歷或在Bookmarks對象訪問隱藏的書籤,您必須將其ShowHidden屬性設置爲true。
PS - SO,如果您對拼寫字典有任何控制權,您可以添加「編程」。除非我拼錯了。 :)
+1。很好的發現和感謝分享解決方案! – 2011-03-30 17:21:52
NP,查看更新以及另一個有趣的怪癖...... – 2011-03-30 17:40:28
確實很有趣。你可以繼續,並用它旁邊的空白複選標記來接受你的答案。 – 2011-04-03 17:41:32
我在word文件中創建了普通書籤,並且實用地將它們轉換爲隱藏書籤。如上所述,隱藏書籤只能以實用的方式創建,並且其名稱前面加「_」。在迭代書籤列表時,確保Bookmarks.ShowHidden設置爲true,否則隱藏的書籤不會顯示在列表中。以下是我用來隱藏所有可見書籤的代碼。最後,我還清除撤消記錄,以確保用戶無法撤消我所做的更改。如果您願意,您可以創建自定義撤消記錄刪除最後一個操作。
public static void hideAllBookmark(Document doc)
{
String newName = null;
Range newRange = null;
bool backup = doc.Bookmarks.ShowHidden;
doc.Bookmarks.ShowHidden = false;
for (int i = doc.Bookmarks.Count; i > 0; i--)
{
if (!doc.Bookmarks[i].Name.Substring(0, 1).Equals("_", StringComparison.OrdinalIgnoreCase))
{
newName= "_" + doc.Bookmarks[i].Name;
newRange = doc.Bookmarks[i].Range;
doc.Bookmarks[i].Delete();
doc.Bookmarks.Add(newName, newRange);
}
}
doc.Bookmarks.ShowHidden = backup;
doc.UndoClear();
}
- 1. 如何創建自動隱藏標籤?
- 2. 創建書籤
- 3. 創建書籤
- 4. 如何創建pinterest風格隱藏/取消隱藏導航/標籤欄?
- 5. 在Jekyll中創建標籤或隱藏/取消隱藏內容?
- 6. 如何隱藏由jQuery Validator創建的標籤?
- 7. 如何動態地隱藏動態創建的div標籤?
- 8. 如何創建測試簽名證書?
- 9. 如何在DOMPDF中創建書籤?
- 10. 如何使用書籤創建網址?
- 11. 如何創建自簽名證書
- 12. 如何在表格內創建書籤
- 13. 如何在greasemonkey中創建隱藏/取消隱藏按鈕
- 14. 如何創建一個隱藏目錄
- 15. 如何創建隱藏菜單?
- 16. 如何創建隱藏的CSS?
- 17. 如何從隱藏的webView創建PDF?
- 18. 如何創建/隱藏的JavaScript
- 19. 如何隱藏空標籤
- 20. 如何隱藏標籤?
- 21. 如何隱藏HTML標籤?
- 22. 如何在winform中禁用或隱藏acrobat reader書籤面板?
- 23. 如何隱藏禁用滾動,但能夠使用書籤?
- 24. 如何使用自簽名證書鏈創建鏈接證書
- 25. 創建並隱藏UILabel
- 26. 創建隱藏表列
- 27. 創建隱藏的cmd javascript
- 28. 創建從代碼隱藏
- 29. 創建隱藏文件夾
- 30. 書籤/收藏夾
你的名字(「System.Cats.Lol」)是我在SO上的最愛。 – 2012-12-25 07:37:12