Vba 通过编号选择文本的MS Word脚本

Vba 通过编号选择文本的MS Word脚本,vba,ms-word,Vba,Ms Word,我正在寻找一种快速的方法来自动修复Word文档中的标题。 我花了一些时间在Stackoverflow上寻找VB脚本,并尝试使用Word中的高级查找和替换功能 收割台最深可达5层 2.0这应该是标题1 2.1这应为标题2 2.1.1这应为标题3 2.1.1.1应为标题4 2.1.1.1.1应为标题5 每个标题之间有大量的文字 标题是键入的,而不是使用“样式”格式化的 所有标题均为泰晤士报新罗马版,粗体,第12页 我想浏览文档,并用适当的标题样式修复所有标题 看起来很容易。我根据字体进行了查找/替换

我正在寻找一种快速的方法来自动修复Word文档中的标题。 我花了一些时间在Stackoverflow上寻找VB脚本,并尝试使用Word中的高级查找和替换功能

收割台最深可达5层

2.0这应该是标题1 2.1这应为标题2 2.1.1这应为标题3 2.1.1.1应为标题4 2.1.1.1.1应为标题5 每个标题之间有大量的文字

标题是键入的,而不是使用“样式”格式化的

所有标题均为泰晤士报新罗马版,粗体,第12页

我想浏览文档,并用适当的标题样式修复所有标题

看起来很容易。我根据字体进行了查找/替换;然而,我无法区分不同的层次


任何帮助都将不胜感激。

听起来您需要进行通配符搜索。首先,我要说的是Word的通配符搜索没有其他正则表达式引擎那么复杂,除非您非常确信这些标题字符串在文本中是唯一的,否则我至少会手动运行它们

我强烈建议至少手工进行最后两次搜索,因为文本中可能有其他粗体文本实例与这些模式匹配

如果需要脚本,可以将其记录为宏,但如果只有一个文档,则实际上不需要


这不是一个真正的编码问题;不确定是否应移动到超级用户。

谢谢您的帮助。我认为这将不仅仅是寻找和替换。
Search:
Font: Times New Roman Bold 12 pt
Wildcards on
[0-9]{1,}.[0-9]{1,}.[0-9]{1,}.[0-9]{1,}.[0-9]{1,}

Replace:
Style: Heading 5
Then
Search:
Font: Times New Roman Bold 12 pt
Wildcards on
[0-9]{1,}.[0-9]{1,}.[0-9]{1,}.[0-9]{1,}

Replace:
Style: Heading 4
Then
Search:
Font: Times New Roman Bold 12 pt
Wildcards on
[0-9]{1,}.[0-9]{1,}.[0-9]{1,}

Replace:
Style: Heading 3
Then
Search:
Font: Times New Roman Bold 12 pt
Wildcards on
[0-9]{1,}.[1-9]{1,}

Replace:
Style: Heading 2
Then
Search:
Font: Times New Roman Bold 12 pt
Wildcards on
[0-9]{1,}.0

Replace:
Style: Heading 1