2011-11-15 17 views
7

मेरे पास केवल मूल वीबीए प्रयोगकर्ता है और मेरा पूर्व मैक्रो एक्सपेरेंस मुख्य रूप से वर्ड 2003 के साथ था। रिकॉर्डिंग मैक्रोज़ GoToFooter (या पाद लेख संपादित करें) मेनू कमांड लेते थे और बाद के संपादन की अनुमति देते थे। वर्ड 2010 में, यह (और कई अन्य) आदेश मैक्रो को "रिकॉर्ड" नहीं करते हैं (फिर भी जब रिकॉर्ड मोड में, मैं संपादन फ़ूटर फ़ंक्शन में जाता हूं)।संपादन हेडर और पाद लेखों के लिए वर्ड 2010 मैक्रो

विभिन्न वीबीएस विकल्पों का एक शोध फुटर्स बनाने और मैक्रो के भीतर वैश्विक पाद लेख सेटिंग बदलने के कई तरीके दिखाता है। हालांकि अगर मैं बस पाद लेख के भीतर कंपनी के नाम को संशोधित करना चाहता हूं (उदाहरण के लिए), मुझे मैक्रो सबराउटिन के भीतर ऐसा करने का कोई तरीका नहीं मिल रहा है।

यह सबराउटिन एक है जिसे मैं मुख्य मैक्रो से कॉल करता हूं जो एक फ़ोल्डर में प्रत्येक फ़ाइल के माध्यम से कदम उठा रहा है (& उपफोल्डर्स)। मेरे पास मुख्य मैक्रो कामकाज है।

क्या वर्ड 2010 मैक्रो-वीबीए सरल संपादन-फ़ूटर फ़ंक्शन को रोकता है?

` 
Sub Sub_FTR_0() 
' 
ActiveDocument.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter 

For i = 1 To ActiveDocument.Sections.Count 
'REM: INSERT Code from RECORD MACRO recorded when editing one Footer correctly 
    Selection. [[xxx]], etc. 

If i = ActiveDocument.Sections.Count Then GoTo Line1 

    ActiveDocument.ActiveWindow.ActivePane.View.NextHeaderFooter 

Line1: 
Next 

    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument 

End Sub 
` 

उत्तर

9

यहाँ एक तरह से आप VBA के माध्यम से हेडर/पाद का उपयोग कर सकते है:

अग्रिम

धन्यवाद तो, Issun करने के लिए धन्यवाद, यहाँ मेरी समाधान है। आप देख सकते हैं, यह नहीं बल्कि जटिल वाक्य रचना इतना आसान कुछ करने के लिए है: वहाँ पी

Sub EditHeadersAndFooters() 

Dim i As Long 

For i = 1 To ActiveDocument.Sections.Count 
    With ActiveDocument.Sections(i) 
     .Headers(wdHeaderFooterPrimary).Range.Text = "Foo" 
     .Footers(wdHeaderFooterPrimary).Range.Text = "Bar" 
    End With 
Next 

End Sub 

यहाँ कैसे एक फ़ोल्डर में हर फ़ाइल में हेडर बदलने के लिए पर उदाहरण कोड का कोई लिंक है। यह एक अलग दृष्टिकोण लेता है और मैंने कभी कोशिश नहीं की है, लेकिन आपके संदर्भ के लिए: http://www.vbaexpress.com/kb/getarticle.php?kb_id=45

+0

धन्यवाद !! मैंने इस वाक्यविन्यास को देखा था और माना था कि यह अनिवार्य रूप से पूरी तरह से शीर्षलेख और/या पाद लेख को "FUBAR" सामग्री के साथ बदल देता है [:)] ... अभी भी मुझे अपने संपादकों को चुनने और चुनने की अनुमति नहीं देता है (जैसे कि पहले 3 को बदलना शब्द या अंतिम शब्द, आदि)। इसलिए प्रत्येक फ़ाइल में एक अनूठी पेज नंबरिंग योजना होती है (फ़ील्ड-कोडेड नहीं) इसलिए पूर्ण प्रतिस्थापन एक विकल्प नहीं है जिसके लिए मैंने एक कार्य-आसपास का जिक्र किया है। – Dan

+0

धन्यवाद (फिर से)। आपके सुझाव का एक संयोजन और प्रदान किया गया लिंक मुझे ठीक करने के लिए प्रेरित करता है। मुझे "सरल" दिनचर्या है जो मुझे पाद लेख (ओं) में प्रवेश करने और भागों को संपादित करने की अनुमति देती है। उप Sub_FTR_0() ' ' Sub_FTR_0 मैक्रो ActiveDocument.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter के लिए मैं = 1 ActiveDocument.Sections.Count करने के लिए '(REM) जोड़ें:। FOOTER संपादित चयन [cmds] तो मैं = ActiveDocument.Sections.Count तो गोटो लाइन 1 ActiveDocument.ActiveWindow.ActivePane.View.NextHeaderFooter लाइन 1: अगला ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument End Sub – Dan

+0

'code' उप Sub_FTR_0() ' सक्रिय Document.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter के लिए मैं = 1 ActiveDocument.Sections.Count '(REM) जोड़ने के लिए:। FOOTER संपादित चयन [cmds] तो मैं = ActiveDocument.Sections।फिर गणना गोटो लाइन 1 ActiveDocument.ActiveWindow.ActivePane.View.NextHeaderFooter लाइन 1: अगला ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument End Sub 'code' – Dan

0

यह दस्तावेज़ में सभी पृष्ठों के लिए मेरे लिए काम करता है।

word.ActiveDocument.Sections (1) .Headers (1) .Range.Text = "शीर्षक यहाँ रखो"

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