2009-04-17 17 views
5

में मनमाने ढंग से मेटा-डेटा संग्रहीत करना मुझे वर्ड दस्तावेज़ में कस्टम मेटा-डेटा स्टोर करने की आवश्यकता है। 'दस्तावेज़ गुण' 255 बाइट तक सीमित हैं लेकिन मेरे पास डेटा है जो >> 10kमाइक्रोसॉफ्ट वर्ड दस्तावेज़

हम वीबीए का उपयोग हमारे आवेदन के साथ बातचीत करने के लिए एक शब्द एक्सटेंशन लिखने के लिए कर रहे हैं और हमारे दस्तावेज़ डेटा शब्द दस्तावेज़ में संग्रहीत करना चाहते हैं। विचार यह है कि उपयोगकर्ता हमारे आवेदन की किसी अन्य डेटा फ़ाइलों को साझा किए बिना केवल शब्द दस्तावेज़ साझा कर सकता है।

क्या कोई विचार करता है कि Office 2003+ दस्तावेज़ों में मनमाने ढंग से मेटा-डेटा को कैसे व्यवस्थित किया जाए?

उत्तर

8

बस VBA संपादक तत्काल विंडो में यह करने की कोशिश की:

ActiveDocument.Variables.Add "foo", String(10000, ".") 

? Len(ActiveDocument.Variables("foo")) 
10000 

दस्तावेज़ चर दस्तावेज़ के साथ जमा हो जाती है। वे 65280 यूनिकोड वर्ण तक जाते हैं, जैसा कि मैंने अभी पाया है (वर्ड 2003 में परीक्षण किया गया है; अद्यतन: यह सीमा Word 2007 और 2010 में समान है)।

यदि आप अपने डेटा के लिए 60k के करीब पहुंचने से डरते हैं, तो मैं इसे कई चरों पर विभाजित करने या इसे स्टोर करने से पहले इसे संपीड़ित करने की अनुशंसा करता हूं। This post वीबीए में ऐसा करने के लिए कुछ विकल्प दिखाता है।

2

यह फिट बैठता है अपनी आवश्यकताओं को नहीं वास्तव में, क्योंकि यह पद 2003 के साथ काम नहीं करता है हालांकि, यह अभी भी आप (अन्यथा मैं आप दस्तावेज़ चर का उपयोग करने के लिए के रूप में Tomalak ने सुझाव दिया की सलाह देते हैं) के लिए दिलचस्प हो सकता है:

वर्ड 2007 में (और बाद में) आप Word दस्तावेज़ में Custom XML के रूप में मनमाने ढंग से XML दस्तावेज़ एम्बेड कर सकते हैं।

एमएसडीएन पर इस आलेख को एक उदाहरण में वर्णित किया गया है: How to: Add Custom XML Parts to Documents by Using VSTO Add-Ins