我的代码的目标是能够使用VBA搜索一组关键术语,以便能够应用粗体格式。我试图将代码设置为期望以下格式的字符串:
这里是#号,代表数字,@之后,代表小写字母。我相信我编写的代码能够找到整个文档的通用字符串,但是#和@将交叉引用到文档中的某个位置,看来我的脚本无法找到字符串是由于交叉引用。
注意:我想在HTML标记中放置空格,因为我想在标记执行之前显示它们的外观。
此代码的目的是创建一个动态文档,该文档随项目更改而更新了Items,但是我将要将该文档转换为HTML,并且我有JavaScript可以查找文本以创建标签并应用代码覆盖。我已经遇到了需要预处理Word文档以确保格式保持一致的需求,而不管其粗体如何应用。如果项目以粗体显示,则会出现格式问题,然后#以粗体显示,导致html看起来像 Item #,而我发现很难用JavaScript找到这些字符串应用编码。
Sub FindTheText()
Dim test As Variant
Set test = ActiveDocument.Range.Find
With Selection.Find
.ClearFormatting
.Text = "Item [0-9]"
.MatchWildcards = True
.MatchCase = False
.MatchWholeWord = True
.Wrap = wdFindContinue
End With
Selection.Find.Execute
End Sub
这只是示例代码,因此我需要在循环中创建一系列命令以查找所需的每种类型的#/ @组合。一旦我掌握了基础知识,那至少就是我的计划
为演示所需的输出,我将输入一个示例段落,然后输入一个错误的HTML代码和良好的HTML代码的示例。
示例段落
我的示例代码应该能够找到项目3aa并应用粗体,以便在html中应用单个粗体标记。这些项目可能会有所不同,但我希望我能看到一个或两个数字,可能会出现从项目1到项目1z到99zz的一个或两个字母,因此我需要为所有情况做准备。
HTML输出错误
我的示例代码应该能够找到 Item 3aa 并应用粗体,以便在html中应用单个粗体标记。项目可能会有所不同,但我希望我能看到一个或两个数字,可能还会出现一个或两个字母,范围从项目 1 到项目 1 z 到项目 99 zz ,所以我需要为所有情况做准备。
良好的HTML输出
我的示例代码应该能够找到项3aa 并应用粗体,以便在html中应用单个粗体标记。项目可能会有所不同,但我希望我能看到一个或两个数字,可能还会出现一个或两个字母,范围从项目1 到项目1z 到项目99zz 所以我需要为所有情况做准备。
答案 0 :(得分:0)
如果您要进行通配符搜索,则可以使用“((Item [0-9] @)()”)查找文本“ Item”,后跟任意数量的数字。
您可以使用“((Item [0-9] {1,n})()”查找文本“ Item”,后跟数字,其中n替换为要查找的最大数字。
您可以通过添加[a-z] @或[a-z] {1,n}来扩展搜索字段,以包含小写字母。
例如“((项目[0-9] {1,2} [a-z] {1,3})()”将找到项目,后跟一个或两个数字,然后是1或2或3个小写字母。
在上面的搜索文本中,括号()用于封闭文本。 ()被称为字段。搜索文本中可以使用1到9个字段。您可以使用\ 1到\ 9在替换文本中引用这些字段。因此,在上述所有情况下,替换文字均为“ \ 1 \ 2 ”(就像您插入一个空格以烘烤可见的粗体标签一样。
您可以在此处找到有关通配符搜索的更多信息