我有一个XLS到Word文档自动化项目,其中需要将2个字符串String1
和String2
分配给Word表格单元格。挑战在于String1采用红色斜体字体样式,String2采用黑色普通字体样式。我如何实现这一目标?
我现在的代码使所有文本都为红色itallic,这是默认的表格字体样式。
With wdoc.Tables(pos)
.Rows(1).Cells(1).Range.Text = String1
wapp.Selection.Font.Italic = False
wapp.Selection.Font.Color = wdColorAutomatic
.Rows(1).Cells(1).Range.Text = .Rows(1).Cells(1).Range.Text & String2
End with
答案 0 :(得分:1)
我能想到的第一个想法是根据文本在整个文档中的位置使用对范围的引用。以下代码查找了两个属性的值:单元格文本的.Start
和.End
,检查String1
和String2
文本的长度。全部用作Document.Range(Start,End)
参数。因此,代码将如下所示(在代码之后添加:
With wdoc.Tables(pos).Rows(1).Cells(1).Range
With wdoc.Range(.Start, .Start + Len(String1)).Font
.Italic = True
.Color = vbRed
End With
With wdoc.Range(.End - Len(String2), .End).Font
'do nothing assuming text is black/standard
'or change to black if necessary
End With
End With