VSTO

2010-02-16 11 views
6

के साथ वर्ड 2007 में पैराग्राफ के बाद रिक्ति को हटाएं मैं सी # में वर्ड 2007 तालिका बना रहा हूं और पॉप्युलेट कर रहा हूं। जब मैं शब्द में परिणाम देखता हूं, तो प्रत्येक सेल में पाठ के बाद अतिरिक्त लंबवत स्थान होता है। वर्ड में इसे "पेज लेआउट"/पैराग्राफ/स्पेसिंग के माध्यम से समायोजित किया जा सकता है, जहां प्रारंभिक मान 10pt है।VSTO

--------------------------------------------------- 
| Text...  | Text.... | More text...   | 
|    |   |      | <- Extra spacing 
--------------------------------------------------- 
|    |   |      | 

वीएसटीओ का उपयोग करके इसे कैसे बदला जा सकता है?

मैंने वीबी कोड में कुछ उत्तरों की उम्मीद करते हुए एक मैक्रो रिकॉर्ड करने का प्रयास किया है - यह स्पेसिंग मान को बदलने का जवाब नहीं दे रहा था।

मैं एमएसडीएन पर वीएसटीओ दस्तावेज से संबंधित कुछ भी नहीं ढूंढ पाया।

संपादित करें: एक शब्द टेम्पलेट का उपयोग करना, मैं क्षेत्र मैं पॉप्युलेट कर रहा हूँ चिह्नित करने और 0. यह तो मेरी मेज के माध्यम से विरासत में मिला है करने के लिए रिक्ति सेट कर सकते हैं - इस प्रकार यह अब के लिए काम करता है। लेकिन फिर भी, यह अच्छा होगा कि सी # से अंतर को नियंत्रित करने में सक्षम हो और वर्ड में विरासत पर भरोसा न करें।

उत्तर

14

के अनुसार जोस एंटोन Bautista समाधान निम्नलिखित की तरह है:

Word.Document currentDocument; 
currentDocument.Paragraphs.SpaceAfter = 0; 

या

Word.Table table; 
table.Range.Paragraphs.SpaceAfter = 0; 

यह बहुत अच्छा काम करता है और मेरे लिए, यह दिखाता है कि मैं दस्तावेज़ तत्वों के विभिन्न गुणों तक पहुंच सकता हूं।

+0

उत्कृष्ट। यह "रेंज। पैराग्राफ। स्पेसएफ्टर = 0" अलग पैराग्राघ के लिए भी काम करता है - अगर हमारे पास दस्तावेज़ के अंदर अधिक पैराग्राफ हैं, तो दस्तावेज़ के लिए आवेदन करने की आवश्यकता नहीं है। हम इसे प्रत्येक पैराग्राफ पर भी लागू कर सकते हैं –

0

मैं निर्मित शैली "तालिका ग्रिड" का उपयोग किया है कोशिकाओं में पैराग्राफ़ दूरी शैली को दूर करने के (Word 2007 डिफ़ॉल्ट, सम्मिलित करें> तालिका में एक ही शैली का उपयोग करता है):

Word.Document Doc = Globals.ThisDocument.Application.ActiveDocument; 
Word.Table WordTable = Doc.Tables.Add(curSel.Range, 8, 5, ref missing, ref missing); 

//Table Style 
object tableStyle = "Table Grid"; 
WordTable.set_Style(ref tableStyle); 
+0

@Mike निर्धारित करने की आवश्यकता हो सकता है: मैं अपने समाधान करने की कोशिश की, लेकिन मैं WordTable.set_Style (संदर्भ tableStyle) में एक अपवाद मिल ;. लेकिन मुझे एक और समाधान मिला। – Chau

+1

अपवाद संभवतः "टेबल ग्रिड" शैली से नहीं आ रहा है। मैं प्रत्येक तालिका पर अलग-अलग स्वरूपण परिवर्तन करने और इसके बजाय, समान स्वरूपण वाले सभी तालिकाओं के लिए तालिका शैली बनाने के खिलाफ सावधानी बरतता हूं। –

0

इसके अलावा, आप LineSpacingRule

myTable.Range.Paragraphs.LineSpacingRule = WdLineSpacing.wdLineSpaceSingle; 
संबंधित मुद्दे