如何使用VBA在Word中设置文本字体,但将字体保留在公式中?

CK

我想将所有文本的字体设置为Times New Roman,并编写了以下代码:

Selection.WholeStory
With Selection.Font
    .NameAscii = "Times New Roman"
    .NameOther = "Times New Roman"
    .Name = ""
End With

但是,当我运行这些代码时,所有方程式(即Omath对象)的字体也将变为Times New Roman,而不是Cambria Math。

之后,我尝试添加以下代码:

For Each Oma In NewDoc.OMaths
    With Oma.Range.Font
        .Italic = True
        .Name = "Cambria Math"
    End With
    DoEvents
Next

工作,但它的速度太慢,因为有一个for循环中的代码。

但是,当我只按Ctrl + A选择整个故事并手动设置字体时,Word会自动跳过等式,而在VBA中则不会。

因此,我想知道是否有一种很好的方法来设置文本的字体但保留方程式的字体?非常感谢!

更新:

我尝试按照@Timothy Rylatt的建议查找并替换。这是我的代码:

Sub FindReplaceFont()
   With ActiveDocument.Content.Find
      .ClearFormatting
      .Replacement.ClearFormatting
      .Text = ""
      .Replacement.Text = ""
      .Forward = True
      .Wrap = wdFindStop
      .Format = True
      .Font.Name = "Consolas"
      .Replacement.Font.Name = "Times New Roman"
      .MatchCase = False
      .MatchWholeWord = False
      .MatchWildcards = False
      .MatchSoundsLike = False
      .MatchAllWordForms = False
      .Execute Replace:=wdReplaceAll
   End With
End Sub

但是我遇到了一个奇怪的问题:找到并替换后,两个内联方程之间的文本将合并到一个方程对象中。这是照片:

替换文档之前如下所示: 原始文件

并且在替换文档后如下所示: 修改后的文件

我以前遇到过这个问题,但我仍然不知道为什么会发生这种情况以及如何处理。有什么建议吗?

再次谢谢你们。

更新:

我已经按照@macropod的建议解决了这个问题。我应该设置样式的字体,而不是直接设置它们。样式上的一个简单的for循环就可以了!

巨足动物

答案很简单:

ActiveDocument.Styles(wdStyleNormal).Font.Name = "Times New Roman"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Flutter:设置状态后将数据保留在文本字段中

来自分类Dev

将文本保留在div中

来自分类Dev

使用XPath将元素保留在文本中

来自分类Dev

Excel VBA通过使用通用变量“设置”对其他工作簿的引用,将该引用保留在公式中

来自分类Dev

如何在RaphaelJS中设置文本字体

来自分类Dev

将文本保留在RVest中的HTML中

来自分类Dev

设置addFromAutocompleteOnly后,剩余的文本将保留在输入字段中

来自分类Dev

php中的爆炸功能,使用爆炸后如何将数据保留在文本框中?

来自分类Dev

在视图之间将文本保留在UITextField中

来自分类Dev

将文本保留在UITableViewCell内的UITextView中

来自分类Dev

WPF字形控制字体uri!(速度缓慢并保留在内存中)

来自分类Dev

如何单独删除锚标签,但将文本保留在json数据中

来自分类Dev

如何单独删除锚标签,但将文本保留在json数据中

来自分类Dev

如何将小数点保留在VB的文本框中输入

来自分类Dev

从html获取纯文本,但希望使用javascript将标题属性保留在选择标记中

来自分类Dev

仅使用批处理将最后30行保留在文本文件中

来自分类Dev

如何修复代码以删除公式,但将所有表中的值保留在APART中而不是指定的值

来自分类Dev

如何使用mapbox expressioins设置“文本字体”

来自分类Dev

如何使用Apache POI PPT API设置文本字体?

来自分类Dev

如何使用mapbox expressioins设置“文本字体”

来自分类Dev

在Xcode 6.1中设置导航栏文本字体

来自分类Dev

在Xcode 6.1中设置导航栏文本字体

来自分类Dev

如何将文字保留在父项中?

来自分类Dev

如何将所选数据保留在表中?

来自分类Dev

如何将特定节点保留在networkx中

来自分类Dev

如何将ID保留在dummyVars()中

来自分类Dev

如何将动画div保留在容器中

来自分类Dev

使用PowerShell将报价保留在$ args中

来自分类Dev

将选择保留在列表中

Related 相关文章

  1. 1

    Flutter:设置状态后将数据保留在文本字段中

  2. 2

    将文本保留在div中

  3. 3

    使用XPath将元素保留在文本中

  4. 4

    Excel VBA通过使用通用变量“设置”对其他工作簿的引用,将该引用保留在公式中

  5. 5

    如何在RaphaelJS中设置文本字体

  6. 6

    将文本保留在RVest中的HTML中

  7. 7

    设置addFromAutocompleteOnly后,剩余的文本将保留在输入字段中

  8. 8

    php中的爆炸功能,使用爆炸后如何将数据保留在文本框中?

  9. 9

    在视图之间将文本保留在UITextField中

  10. 10

    将文本保留在UITableViewCell内的UITextView中

  11. 11

    WPF字形控制字体uri!(速度缓慢并保留在内存中)

  12. 12

    如何单独删除锚标签,但将文本保留在json数据中

  13. 13

    如何单独删除锚标签,但将文本保留在json数据中

  14. 14

    如何将小数点保留在VB的文本框中输入

  15. 15

    从html获取纯文本,但希望使用javascript将标题属性保留在选择标记中

  16. 16

    仅使用批处理将最后30行保留在文本文件中

  17. 17

    如何修复代码以删除公式,但将所有表中的值保留在APART中而不是指定的值

  18. 18

    如何使用mapbox expressioins设置“文本字体”

  19. 19

    如何使用Apache POI PPT API设置文本字体?

  20. 20

    如何使用mapbox expressioins设置“文本字体”

  21. 21

    在Xcode 6.1中设置导航栏文本字体

  22. 22

    在Xcode 6.1中设置导航栏文本字体

  23. 23

    如何将文字保留在父项中?

  24. 24

    如何将所选数据保留在表中?

  25. 25

    如何将特定节点保留在networkx中

  26. 26

    如何将ID保留在dummyVars()中

  27. 27

    如何将动画div保留在容器中

  28. 28

    使用PowerShell将报价保留在$ args中

  29. 29

    将选择保留在列表中

热门标签

归档