gpt4 book ai didi

vba - 从文档引用中取出一个词,然后用它在文档中查找和替换?

转载 作者:行者123 更新时间:2023-12-01 03:36:31 25 4
gpt4 key购买 nike

我不精通 VBA,但想设置一个宏,用 Mocrosoft Word 2003 执行特定操作(是的,我的公司软件仅限于 2003 - 不要问!)。

我有一些关于个人的文件。它们都以文档引用 15/3/ARTF/(NAME) 开头。哪里(NAME)是个人的姓氏,例如15/3/ARTF/JONES .

这些文档基于我创建的模板,上面写着“~Name~ has been through her navigation testing”之类的内容。

如何设置宏来提取文档引用中的名称并查找和替换~Name~用那个名字(在句子中)?在显示的示例中,我希望在宏运行完成时说“琼斯已通过她的导航考试”这句话。

最佳答案

假设文档引用是文档中的一个单独的段落(和第一个段落),您可以从它开始。如果它遵循您指定的格式,您只需找到最后一次出现的 / , 在找到的索引后面取名字并进行查找替换以替换所有出现的 ~Name~ .

Sub ReplaceNames()
Dim ref As String
ref = ActiveDocument.Paragraphs(1).Range.Text

Dim name As String
name = Mid(ref, InStrRev(ref, "/") + 1)

'If name ends with a paragraph, remove it.
If Right(name, 1) = Chr(13) Then name = Left(name, Len(name) - 1)

ActiveDocument.Range.Find.Execute "~Name~", MatchCase:=False, ReplaceWith:=name, Replace:=wdReplaceAll
End Sub

请注意,我插入了一个检查以查看名称是否包含一个段落。您不希望新段落出现在整个文档中 ;-)

关于vba - 从文档引用中取出一个词,然后用它在文档中查找和替换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34264622/

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