2010-10-19 14 views
5

का उपयोग करके शब्द में बोल्ड टेक्स्ट डालें मैंने एक छोटी सी स्क्रिप्ट लिखी जो कुछ एक्सेल सेल मानों को Word में निर्यात करता है। हालांकि, कुछ आवेषण बोल्ड होने की आवश्यकता है। और ऐसा करने का एक आसान तरीका प्रतीत नहीं होता है।वीबीए

इस कोड को रिकॉर्ड के माध्यम से लूप और उन्हें वर्ड दस्तावेज़


Do While intRow < intTotalRows + 1 

       strTemp = " ;b;" & Range("G" & intRow).FormulaR1C1 & " " & Range("I" & intRow).FormulaR1C1 & ";e; " 

       If strTemp <> strCur Then 
        strCur = strTemp 
        .Content.Font.Bold = True 
        .Content.InsertAfter strCur 
       End If 

       .Content.Font.Bold = False 
       .Content.InsertAfter Range("A" & intRow).FormulaR1C1 & " - " & Range("C" & intRow).FormulaR1C1 & " " & Range("E" & intRow).FormulaR1C1 & " * " 

      intRow = intRow + 1 
     Loop 

पाठ डालने और इसे फिर से बंद करने से पहले बोल्ड चालू किया जा रहा करने के लिए कहते हैं बाद में सबसे तार्किक समाधान की तरह लगता है, तो यह काम नहीं करता।

मैं तो टेक्स्ट ढूंढना और बदलना करने की कोशिश की, लेकिन वह भी काम नहीं किया:


     .Content.Find.ClearFormatting 
     With .Content.Find 
      .Text = ";b;" 'Look for 
      .Replacement.Text = ";bbb;" 'Replace with 
      .Forward = True 
      .Wrap = wdFindContinue 
      .Format = False 
      .MatchCase = False 
      .MatchWholeWord = False 
      .MatchWildcards = False 
      .MatchSoundsLike = False 
      .MatchAllWordForms = False 
     End With

.Content.Find.Execute Replace:=wdReplaceAll 

उत्तर

5

.TypeText साथ .InsertAfter बदलें। पेस्टिंग जैसे कार्यों को सम्मिलित करना जबकि TypeText काम करता है जैसे कि आप वास्तव में कीबोर्ड पर टेक्स्ट टाइप करेंगे।