2009-11-24 13 views
5

मान लीजिए कि मेरे पास वर्ड वीबीए में Range संदर्भ है, और मैं इसे छोटे श्रेणियों में तोड़ना चाहता हूं जहां स्वरूपण (फ़ॉन्ट, रंग, आदि) समान है। उदाहरण के लिए, अगर मैं शुरू के साथ:एमएस वर्ड वीबीए - "स्टाइल रन" की सीमा निर्धारित करें?

त्वरित भूरी लोमड़ी आलसी कुत्ते पर कूद गया।

... तो मैं वापस 5 पर्वतमाला प्राप्त करने के लिए, इस प्रकार चाहेगा:

त्वरित

भूरी लोमड़ी

लांघ आलसी

कुत्ता।

मुझे उम्मीद थी कि वीबीए में ऐसा करने का एक अंतर्निहित तरीका था (और ऐसी सुविधा का उपयोग करने की प्रेत स्मृति भी है), लेकिन मुझे कुछ भी नहीं मिला।

मैं कोड में जो करना चाहता हूं वह कर सकता था, लेकिन जो कुछ मूल रूप से काम करता है वह बहुत अधिक होगा (अधिक) तेज़।

[कोड में, मैं इस तथ्य का उपयोग करूंगा कि - उदाहरण के लिए - oRange.Font.Bold "अपरिभाषित" वापस आ जाएगा यदि श्रेणी में बोल्ड और बोल्ड का मिश्रण नहीं है, और इसलिए मैं वर्दी की सीमा को खोजने के लिए बार-बार इसका उपयोग कर सकता हूं बीच है। लेकिन मैं बहुत यकीन है कि वर्ड हुड के नीचे यह कर रही होगी हूँ, इसलिए मेरे लिए है कि हुड पॉप कर सकते हैं, मैं आभारी होगी]

संपादित:। हटाया और अधिक जटिल उदाहरण है कि StackOverflow HTML रेंडरर पसंद नहीं आया।

उत्तर

5

वास्तव में वीबीए में ऐसा नहीं कर सकता क्योंकि ओएम रनों का समर्थन नहीं करता है (हालांकि ओओएक्सएमएल करता है)। सबसे अच्छा आप शायद कर सकते हैं wdCharacterFormatting के wdUnits प्राप्त करें और श्रेणियों को बनाने के लिए एक लूप बनाएं, अपनी गुण निकालें और फिर लूप समाप्त होने तक उन्हें नष्ट कर दें। आरंभ और स्वरूपण के अगले सेट, selRange.Start/selRange.End तरह के अंत है, साथ ही selRange.Font.Name/ की तरह किसी भी गुण प्राप्त करने के

Dim sel As Selection 
Set sel = ActiveWindow.Selection 
Dim selRange As Range 
Set selRange = selRange.Next(wdCharacterFormatting) 

: आप probaby की तरह कुछ के साथ शुरू होता है selRange.Bold।

+0

बिल्कुल सही, यह वही था जो मैं ढूंढ रहा था। मुझे पता था कि मैंने कहीं ऐसा कुछ देखा होगा। धन्यवाद! –

+0

कम से कम वर्ड 2013 में, यह मिलान अनुच्छेद परिवर्तनों को समाप्त करता है जो वास्तव में वर्ण स्वरूपण को नहीं बदलता है। मैंने रन और अनुच्छेद गुणों (' 'और' ') देखने के लिए वर्ड एक्सएमएल को पार्सिंग समाप्त कर दिया, जिसने मेरे प्रश्न का उत्तर दिया" क्या इस दस्तावेज़ में कोई शैलियों लागू है? " –

संबंधित मुद्दे