使用 VBA 从 Excel 创建 WordDoc 时如何将替换文本设置为项目符号格式

Chr*_*old 5 format excel vba ms-word

你好,提前谢谢你。

我正在使用 VBA 从 Excel 文件中创建一个非常复杂的 Word 文档。应该可以激活某些东西,并且将在单元格中写入的文本传输到 Word 文档。我已经完成了。但在某些部分,它必须采用 Bullets 格式。现在,我在 Word 模板中使用“<<replacementPoint1 >>”之类的标签,使用像一行代码一样简单的方法找到它们并将其替换为 ReplacementText:

With WordDoc.Content.Find
   .Execute FindText:=ReplacementTextF, ReplaceWith:=ReplacementText, Replace:=2
End With
Run Code Online (Sandbox Code Playgroud)

但是如何将replacementText 设置为项目符号或数字,如下所示:

  • ReplacementText 这里还有一些文字......

    1. ReplacementText 一些更多的文字在这里.....

Cin*_*ter 2

有多种可能的方法。一种是不使用wdReplaceAll- 相反,代码将一次执行一个“查找”,应用所需的格式,然后一次又一次循环查找/替换和格式,直到找不到更多内容。一般来说,Stack Overflow 和 Internet 上有很多这种方法的示例。

更快的方法是利用 Word 可以应用某些类型的格式作为替换功能的一部分。在Word UI中,按Ctrl+H查看“查找和替换”对话框;单击“更多”,然后单击“格式”以查看可能性。此处,项目符号和编号不是选择...但样式是。

如果您使用模板来生成这些文档(强烈推荐),则定义要在模板中用作样式的项目符号/编号。如果不使用模板,代码可以即时创建样式定义。

指定样式名称(区分大小写!)作为Replacement为 定义的属性的一部分Find,并将该Format属性设置为 True。就像是:

Dim rngFind as Word.Range 'Object if late-binding
Set rngFind = WordDoc.Content
With rngFind.Find
  .ClearFormatting
  .Replacement.ClearFormatting
  .Replacement.Style = "My style"
  .Format = True
  .Execute FindText:=ReplacementTextF, ReplaceWith:=ReplacementText, Replace:=2
End With
Run Code Online (Sandbox Code Playgroud)