简体   繁体   中英

Insert bold text into Word using VBA

I wrote a little script that exports certain Excel cell values into Word. However, certain inserts need to be bold. And there doesn't seem to be an easy way to do this.

This code loops through the records and adds them to the Word document


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

Turning on bold before inserting text and turning it off again afterwards seems like the most logical solution, so it does not work.

I then tried to find and replace the text, but that also did not work:


        .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

Replace .InsertAfter with .TypeText . Inserting works like pasting whereas TypeText works like if you would actually type the text on the keyboard.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM