gpt4 book ai didi

vba - 找到大写文本并将其设置为粗体

转载 作者:行者123 更新时间:2023-12-02 21:43:29 26 4
gpt4 key购买 nike

我希望有一个可以在 WORD 2003 上运行的宏代码。我有如下文本:

THIS IS THE BEGINNING of a sentence that continues on from here.

我想将大写文本设为粗体:

THIS IS THE BEGINNING of a sentence that continues on from here.

我知道如果粗体文本的文本格式为“AllCaps”,这将是微不足道的,但事实并非如此。它是使用大写锁定创建的。

有什么想法吗?我可以继续操作,但我不知道如何在 VBA 代码中添加复杂的查找和替换。

最佳答案

你想要的是Regular Expressions ,其中 Word provides在其查找功能的高级部分。

这是一个快速示例:

Public Sub Test()
With ActiveDocument.Content.Find
.Text = "<[A-Z]{1,}>"
.MatchWildcards = True
.MatchCase = True
.Replacement.Font.Bold = True
.Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue
End With
End Sub

“<[A-Z]{1,}>”含义如下:

  • “<”表示从单词开头开始匹配
  • “[]”表示匹配括号内的字符之一
  • “[A-Z]”括号内的 A-Z 部分表示大写字母 A 到 Z
  • “{1,}”表示至少匹配前面一次(在这种情况下,大写字母必须连续至少出现一次)
  • ">"表示匹配必须在单词末尾结束。该模式将不匹配,例如“THIs”,因为大写字母不会到达单词的末尾。

您必须处理的一个警告是单字母单词 - I 和 A 将以这种模式方案加粗。您可能会发现创建匹配整组大写单词的模式更容易,但您仍然需要找到一种方法来处理前导或尾随大写单字母单词。

如果您有疑问,请发表评论,我可以尝试进一步解释。

关于vba - 找到大写文本并将其设置为粗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19941362/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com