您好,提前谢谢您。
我正在使用 VBA 从 Excel 文件创建一个非常复杂的 Word 文档。 应可以激活某些内容,并且单元格中写入的文本应传输到 Word 文档。我已经做好了。但在某些部分,它必须采用项目符号格式。 现在,我在 Word 模板中使用诸如“<< replacementPoint1 >>”之类的标签,使用像一行代码一样简单的内容查找它们并将其替换为 ReplacementText:
With WordDoc.Content.Find
.Execute FindText:=ReplacementTextF, ReplaceWith:=ReplacementText, Replace:=2
End With
但是我如何将 replacementText 设置为项目符号或数字,如下所示:
ReplacementText 这里还有一些文字......
- ReplacementText 这里还有一些文字......
最佳答案
有多种可能的方法。一种是不使用 wdReplaceAll - 相反,代码将一次执行一个“查找”,应用所需的格式,然后一次又一次循环查找/替换和格式化,直到找不到更多内容。一般来说,Stack Overflow 和 Internet 上有很多这种方法的示例。
更快的方法是利用 Word 可以应用某些类型的格式作为替换功能的一部分这一事实。在Word UI中,按Ctrl+H查看“查找和替换”对话框;单击“更多”,然后单击“格式”以查看可能性。在这里,项目符号和编号不是是一个选择...但样式是。
如果您使用模板来生成这些文档(强烈推荐),请定义要在模板中使用的项目符号/编号作为样式。如果未使用模板,代码可以即时创建样式定义。
指定样式名称(区分大小写!)作为为 Find
定义的 Replacement
属性的一部分,并将 Format
属性设置为真的。像这样的东西:
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
关于excel - 使用 VBA 从 Excel 创建 WordDoc 时如何将替换文本设置为项目符号格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53315018/