Ho scritto un piccolo script che esporta alcuni valori di cella di Excel in Word. Tuttavia, alcuni inserti devono essere in grassetto. E non sembra essere un modo semplice per farlo.Inserire il testo in grassetto in Word utilizzando VBA
Questo codice loop tra i record e li aggiunge al documento di 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
Accensione grassetto prima di inserire testo e spegnerlo di nuovo sembra poi come la soluzione più logica, in modo che non funziona.
Ho poi cercato di trovare e sostituire il testo, ma che anche non ha funzionato:
.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