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

时间:2013-12-10 22:31:17

标签: vba ms-word word-vba

我正在寻找一种在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

每个标题之间有大量文字。

标题是键入的,而不是使用'样式'格式化。

所有标题都是 Times New Roman,Bold,12pt

我想查看文档,并使用适当的标题样式修复所有标题。

似乎很容易。我根据字体做了一个查找/替换;但是我无法区分不同的层次。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

听起来您需要进行通配符搜索。我将通过说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

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

如果你想要一个脚本,你可以将它记录为一个宏,但是如果只有一个文档就没有必要。

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