Sub GenEQ() If Selection.start <> Selection.End Then Dim objRange As Range Dim objEq As OMath Set objRange = Selection.Range ‘不能加入下面这行注释掉的代码,否则在日文版Word 2007和2010上将不能实现下面的灵活字体控制 ‘objRange.Text = Selection.Range.Text Set objRange = objRange.OMaths.Add(objRange) ‘灵活控制哪类字符加斜体 For i = 1 To objRange.Characters.count If objRange.Characters(i).Text Like "[a-zA-Z]" Then objRange.Characters(i).Italic = True Else objRange.Characters(i).Italic = False End If Next i Set objEq = objRange.OMaths(1) objEq.BuildUp ‘加入下面这行代码,会使日文版Word 2007和2010的行为正常,否则将出现下面的怪异现象,中文版Word 2013没有这种现象: ‘在Word中,在第一行输入x=3,选择x=3,使用本函数生成公式(x是斜体,=3不是斜体),回车换行,当前光标将停留在居中位置(进行相同操作,中文版word 2013光标将停在左对齐位置), ‘再输入y=x+1,选择y=x+1,使用本函数生成公式(y=x+1都不是斜体) objEq.ParentOMath.Type = wdOMathInline End If End Sub
时间: 2024-10-12 23:59:39