使用VBA将粗体文本插入Word

时间:2010-10-19 09:30:14

标签: vba ms-word excel-vba excel

我写了一个小脚本,将某些Excel单元格值导出到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

1 个答案:

答案 0 :(得分:5)

.InsertAfter替换为.TypeText。插入工作就像粘贴一样,而TypeText就像你实际在键盘上输入文字一样。