我需要一些帮助来编写一个单词宏来组织一些聊天记录。我想要的是消除重复连续出现的名称,无论时间戳如何。除此之外,每个人都将使用自己的格式样式(字体、字体颜色等)。编辑:原始日志没有格式(即特定字体、字体颜色等)。我希望宏自动为每个用户添加特定的(已经存在的)单词样式。
所以,我所拥有的是:
[12:40] Steve: this is an example text.
[12:41] Steve: this is another example text.
[12:41] Steve: this is yet another example text.
[12:45] Bob: some more text.
[12:46] Bob: even more text.
[12:47] Steve: yadda yadda yadda.
预期的输出将是:
[12:40] Steve: *style1*this is an example text.
this is another example text.
this is yet another example text.*/style1*
[12:45] Bob: *style2*some more text.
even more text.*/style2*
[12:47] Steve: *style1*yadda yadda yadda.*style1*
不幸的是,到目前为止,我对 VBA for Applications 几乎一无所知。我正在考虑可能通过正则表达式模式搜索名称并将它们分配给一个变量,将每个匹配项与前一个匹配,如果它们相等,则删除后者。问题是我不精通 VBA,所以我不知道如何做我想做的事。
到目前为止,我所拥有的是:
Sub Organize()
Dim re As RegExp
Dim names As MatchCollection, name As Match
re.Pattern = "\[[0-9]{2}:[0-9]{2}\] [a-zA-Z]{1,20}:"
re.IgnoreCase = True
re.Global = True
Set names = re.Execute(ActiveDocument.Range)
For Each name In names
'This is where I get lost
Next name
End Sub
那么,为了解决这个问题和我学习一些 VBA,我能得到一些帮助吗?
编辑:这个问题已经过编辑,以更好地反映我想要宏做什么。