我写了一个小脚本,将某些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
答案 0 :(得分:5)
将.InsertAfter
替换为.TypeText
。插入工作就像粘贴一样,而TypeText
就像你实际在键盘上输入文字一样。