2010-10-19 96 views
5

我写了一个将某些Excel单元格值导出到Word中的小脚本。但是,某些插入需要加粗。而且似乎没有一个简单的方法来做到这一点。使用VBA将粗体文本插入到Word中

代码遍历记录,并将它们添加到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

更换.InsertAfter.TypeText。插入像粘贴的作品,而TypeText的作品就好像你真的在键盘上输入文字一样。

相关问题