Excel 格式化连接字符串中的文本

Excel 格式化连接字符串中的文本,excel,vba,ms-word,formatting,concatenation,Excel,Vba,Ms Word,Formatting,Concatenation,我有一个公式,它将从我的电子表格的多个单元格中提取信息,并将它们连接在一起,最终创建一个“项目概要”——一个在易于阅读的word文档中概述这些单元格中所有信息的文档 下面是我正在使用的VBA代码示例。在这段代码中,您将看到我连接了“Company:”之类的内容,然后是从电子表格中提取的公司名称。当我将这些信息输出到一个单元格或word文档时,如果“Company:”这个词是粗体的,我怎么能做到这一点呢?或以任何方式格式化(大小、颜色等) 如果在要对其应用格式的内容之前和之后添加格式标记,则可以在

我有一个公式,它将从我的电子表格的多个单元格中提取信息,并将它们连接在一起,最终创建一个“项目概要”——一个在易于阅读的word文档中概述这些单元格中所有信息的文档

下面是我正在使用的VBA代码示例。在这段代码中,您将看到我连接了“Company:”之类的内容,然后是从电子表格中提取的公司名称。当我将这些信息输出到一个单元格或word文档时,如果“Company:”这个词是粗体的,我怎么能做到这一点呢?或以任何方式格式化(大小、颜色等)


如果在要对其应用格式的内容之前和之后添加格式标记,则可以在将字符串写入Word文档后运行以下代码:

With ActiveDocument.Range
  With .Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Format = False
    .Forward = True
    .MatchWildcards = True
    .Wrap = wdFindContinue
    .Replacement.Text = "\1"
    .Text = "<u>(*)</u>"
    .Replacement.Font.Underline = True
    .Execute Replace:=wdReplaceAll
    .ClearFormatting
    .Text = "<b>(*)</b>"
    .Replacement.Font.Bold = True
    .Execute Replace:=wdReplaceAll
    .ClearFormatting
    .Text = "<i>(*)</i>"
    .Replacement.Font.Italic = True
    .Execute Replace:=wdReplaceAll
  End With
End With
带有ActiveDocument.Range的

和…一起找
.ClearFormatting
.Replacement.ClearFormatting
.Format=False
.Forward=True
.MatchWildcards=True
.Wrap=wdFindContinue
.Replacement.Text=“\1”
.Text=“(*)”
.Replacement.Font.Underline=True
.Execute Replace:=wdReplaceAll
.ClearFormatting
.Text=“(*)”
.Replacement.Font.Bold=True
.Execute Replace:=wdReplaceAll
.ClearFormatting
.Text=“(*)”
.Replacement.Font.Italic=True
.Execute Replace:=wdReplaceAll
以
以
上述代码允许单独或组合使用粗体(b)、斜体(i)和下划线(u)格式。可以添加其他标签

但是,对于段落级格式,您确实应该对相关段落应用适当的单词样式定义。与前面的字符属性一样,样式定义的标记可以用于该属性(例如,&),并在代码中使用相应的“.Replacement.Style=”

With ActiveDocument.Range
  With .Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Format = False
    .Forward = True
    .MatchWildcards = True
    .Wrap = wdFindContinue
    .Replacement.Text = "\1"
    .Text = "<u>(*)</u>"
    .Replacement.Font.Underline = True
    .Execute Replace:=wdReplaceAll
    .ClearFormatting
    .Text = "<b>(*)</b>"
    .Replacement.Font.Bold = True
    .Execute Replace:=wdReplaceAll
    .ClearFormatting
    .Text = "<i>(*)</i>"
    .Replacement.Font.Italic = True
    .Execute Replace:=wdReplaceAll
  End With
End With