Vba 在Word中使用Visual Basic将公式中的所有Cambria数学斜体字体更改为非斜体
常规查找和替换不起任何作用。所以我用visualbasic处理这个程序,在MSWord中运行 Word中的方程式使用字体Vba 在Word中使用Visual Basic将公式中的所有Cambria数学斜体字体更改为非斜体,vba,ms-word,Vba,Ms Word,常规查找和替换不起任何作用。所以我用visualbasic处理这个程序,在MSWord中运行 Word中的方程式使用字体Cambria Math,斜体 我想将所有方程更改为Cambria Math,非斜体(常规) 我在网上找到了这个程序,并做了一些修改 Sub Macro1() ' ' Macro1 Macro ' Macro recorded 17/05/2004 by Tony ' Selection.Find.Font.Italic = True Selection.Fin
Cambria Math,斜体
我想将所有方程更改为Cambria Math,非斜体(常规)
我在网上找到了这个程序,并做了一些修改
Sub Macro1()
'
' Macro1 Macro
' Macro recorded 17/05/2004 by Tony
'
Selection.Find.Font.Italic = True
Selection.Find.Font.Name = "Cambria Math"
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
End Sub
这将查找文本,但不会更改任何内容,而是逐个查找,而不是执行整个文档
我也试过其他的剧本,但运气不好
Sub ReplaceItalic()
With ActiveDocument.Content.Find
.Font.Name = "Cambria Math"
.Font.Italic = True
With .Replacement
.Font.Italic = False
End With
.Execute FindText:="", ReplaceWith:="", _
Format:=True, Replace:=wdReplaceAll
End With
End Sub
我想我明白了。你遇到的问题是方程不是普通的文本,而是一个文本的一部分。谢天谢地,我们所要做的就是遍历所有的
OMath
对象,并适当地设置它们的范围.Font
Sub EquationItalics()
Dim equation As OMath
For Each equation In ActiveDocument.OMaths
equation.Range.Font.Italic = False
Next equation
End Sub
它将出现在等式中。ConvertToNormalText将产生同样的效果。@GSerg我希望文档能够真正解释什么是“普通文本”…啊,我已经删除了这个问题。谢谢