मुझे ओपनएक्सएमएल एपीआई या वर्ड/वीएसटीओ एपीआई में कोई भाग्य नहीं मिला है, एक बुकमार्क की दृश्यता बनाने या संशोधित करने का एक तरीका ढूंढ रहा है। वर्ड में मैन्युअल रूप से बुकमार्क जोड़ने पर भी बुकमार्क को छुपाने के लिए चेक करने के लिए कोई बॉक्स नहीं है। हालांकि बुकमार्क संवाद में एक चेकबॉक्स है जो आपको छिपे हुए बुकमार्क दिखाने देता है। तो XML में छिपे हुए बुकमार्क कैसे प्रदर्शित होते हैं, और क्या आप उन्हें Open XML SDK का उपयोग करके बना सकते हैं? या वे एक विरासत की चीज हैं जिसे एमएस अब नहीं बनाना चाहता है?

7
System.Cats.Lol 30 मार्च 2011, 17:33
3
आपका नाम ("System.Cats.Lol") SO पर मेरा पसंदीदा है।
 – 
Carl G
25 पद 2012, 11:37

2 जवाब

सबसे बढ़िया उत्तर

ठीक है तो यह मेरे विचार से आसान है...आप बुकमार्क नाम के ठीक पहले अंडरस्कोर लगा दें। ध्यान दें कि यह केवल प्रोग्रामेटिक रूप से किया जा सकता है, न कि वर्ड में मैन्युअल रूप से बुकमार्क जोड़ते समय।

Iiiiiiiiiदिलचस्प ....

अपडेट: एक और चीज जो मुझे मिली--इससे पहले कि आप किसी बुकमार्क ऑब्जेक्ट, आपको उसका शोहिडन प्रॉपर्टी को ट्रू में दिखाएं।

पीएस - एसओ, यदि आपके पास अपने वर्तनी शब्दकोश पर कोई नियंत्रण है, तो आप "प्रोग्रामेटिक रूप से" जोड़ सकते हैं। जब तक मैं इसे गलत नहीं लिख रहा हूं। :)

15
System.Cats.Lol 30 मार्च 2011, 21:40
वास्तव में दिलचस्प। आप आगे बढ़ सकते हैं और इसके आगे खोखले चेकमार्क के साथ अपना उत्तर स्वीकार कर सकते हैं।
 – 
Todd Main
3 अप्रैल 2011, 21:41
धन्यवाद - वे आपको अपना उत्तर स्वीकार करने से दो दिन पहले प्रतीक्षा करते हैं, यही कारण है कि यह पहले से ही नहीं था। :)
 – 
System.Cats.Lol
4 अप्रैल 2011, 20:25
आह, हाँ, दो दिन प्रतीक्षा की बात। एक बार मेरे पास एक प्रश्न था जिसे मैंने पूछा और लगभग 5 मिनट बाद उत्तर की खोज की। 2 दिन इंतजार करना पड़ा और कुछ अन्य (अच्छे, लेकिन महान नहीं) उत्तर मिले। उह।
 – 
Todd Main
6 अप्रैल 2011, 00:14

मैंने शब्द फ़ाइल में सामान्य बुकमार्क बनाए और उन्हें व्यावहारिक रूप से छिपे हुए बुकमार्क में परिवर्तित कर दिया। जैसा कि ऊपर कहा गया है, छिपे हुए बुकमार्क केवल व्यावहारिक रूप से बनाए जा सकते हैं और उनका नाम "_" से पहले होता है। बुकमार्क सूची को पुनरावृत्त करते समय सुनिश्चित करें कि Bookmarks.ShowHidden सत्य पर सेट है, अन्यथा छिपे हुए बुकमार्क सूची में दिखाई नहीं देंगे। नीचे वह कोड है जिसका उपयोग मैंने सभी दृश्यमान बुकमार्क को छिपाने के लिए किया था। अंत में मैं यह सुनिश्चित करने के लिए पूर्ववत रिकॉर्ड भी साफ़ करता हूं कि उपयोगकर्ता मेरे द्वारा किए गए परिवर्तनों को पूर्ववत नहीं कर सकता है। आप कस्टम पूर्ववत रिकॉर्ड बना सकते हैं यदि आप चाहें तो अंतिम क्रिया को हटा दें।

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();
}
0
Abhijit Amin 30 मई 2013, 20:40