如何在使用VBA从Excel创建WordDoc时将替换文本设置为项目符号格式
你好,先谢谢你 我正在使用VBA从Excel文件创建一个非常复杂的Word文档。 应能够激活某些内容,并将单元格中写入的文本传输至word文档。我已经做完了。但在某些地方,它必须是子弹格式。 现在,我在Word模板中使用“>”之类的标记,使用一行代码这样简单的方法查找并替换为ReplacementText:如何在使用VBA从Excel创建WordDoc时将替换文本设置为项目符号格式,excel,vba,ms-word,format,Excel,Vba,Ms Word,Format,你好,先谢谢你 我正在使用VBA从Excel文件创建一个非常复杂的Word文档。 应能够激活某些内容,并将单元格中写入的文本传输至word文档。我已经做完了。但在某些地方,它必须是子弹格式。 现在,我在Word模板中使用“>”之类的标记,使用一行代码这样简单的方法查找并替换为ReplacementText: With WordDoc.Content.Find .Execute FindText:=ReplacementTextF, ReplaceWith:=ReplacementText,
With WordDoc.Content.Find
.Execute FindText:=ReplacementTextF, ReplaceWith:=ReplacementText, Replace:=2
End With
但是如何将replacementText设置为项目符号或类似以下的数字:
- 替换文本此处还有一些文本
- 替换文本此处有更多文本
- 有许多可能的方法。一种方法是不使用
wdReplaceAll
——相反,代码将一次执行一个“查找”,应用所需的格式,然后反复循环查找/替换和格式化,直到找不到更多内容。一般来说,在堆栈溢出和Internet上有很多这种方法的示例
更快的方法是利用Word可以应用某些格式作为替换功能的一部分这一事实。在Word界面中,按Ctrl+H键可查看“查找和替换”对话框;单击“更多”,然后单击“格式”查看可能性。项目符号和编号不是一个选择,在这里。。。但风格是
如果使用模板生成这些文档(强烈建议),请定义要用作模板中样式的项目符号/编号。如果未使用模板,则代码可以动态创建样式定义
指定样式名称(区分大小写!)作为为Find
定义的Replacement
属性的一部分,并将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
非常感谢。它顺利地处理了这段代码。我在模板中创建了一个新样式,并在.replacement.style中使用它。只是后来字体大小不正确,但我将其设置为正确的值,现在它符合我的需要。