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 这里还有一些文字......
有多种可能的方法。一种是不使用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)