首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ms的VBA -基于对列表的所有单词实例上的VBA加词语音指南

ms的VBA -基于对列表的所有单词实例上的VBA加词语音指南
EN

Stack Overflow用户
提问于 2020-08-25 06:41:32
回答 1查看 187关注 0票数 0

我有一对单词如下所示,我想使用VBA自动添加数字作为所有实例的语音指南,在单词文档的基础上基于列表。我试着使用范围法,但我不知道,因为我还是刚刚开始使用VBA。

下面是一个例子:

  • 我离开了一份要求很高的管理咨询工作。
  • 字对: I-100,左-283,a-8,要求-920

结果我想要得到

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-25 13:06:15

首先,欢迎来到堆栈溢出。

其次,你的问题缺乏这里通常需要的焦点,因为它属于“我有一个想法,但不知道如何编码,有人能帮我做吗?”

然而,由于你的问题涉及到我在30多年的文字编码中从未做过的事情,我发现它足够有趣,足以证明我需要修改一些规则。

您需要解决的第一个问题是如何存储值对并循环它们以检索它们。我要把这个留给你去解决。在互联网上有很多例子可以帮助你做到这一点。

下一部分是在文档中找到文本并添加语音指南。为此,您可以使用Find方法。您可以在问题MS Word VBA查找和循环(不替换)的答案中找到使用此方法的一个很好的示例

当与Selection对象一起使用时,Find将选择找到的文本(如果有的话)。类似地,当与Range一起使用时,如果Find成功的话,它将重新定义找到的文本的范围。您可以使用此行为添加语音指南。

我已经为您提供了一个基本的例程来完成这个任务,并给出了一个使用示例。

代码语言:javascript
复制
Sub TestAddPhoneticGuideToText()
  AddPhoneticGuideToText ActiveDocument, "I ", "100"
  AddPhoneticGuideToText ActiveDocument, "left", "283"
  AddPhoneticGuideToText ActiveDocument, " a ", "8"
  AddPhoneticGuideToText ActiveDocument, "demanding", "920"
End Sub

Sub AddPhoneticGuideToText(docTarget As Document, findText As String, phoneticText As String)
  Dim searchRange As Word.Range
  Dim textFound As Boolean

  Set searchRange = docTarget.Range

  With searchRange.Find
    .ClearFormatting
    .text = findText
    textFound = .Execute(Forward:=True)

    Do While textFound = True
      searchRange.phoneticGuide text:=phoneticText, Alignment:=wdPhoneticGuideAlignmentCenter, Raise:=11, FontSize:=7
      searchRange.Collapse wdCollapseEnd 'search from after the found to the end of the doc
      textFound = .Execute(Forward:=True)
    Loop
  End With
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63573312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档