请考虑以下代码
With ActivePresentation
Set sldNewSlide = .Slides.Add(.Slides.Count + 1, ppLayoutBlank)
With sldNewSlide
Set shpCurrShape = .Shapes.AddTextbox(msoTextOrientationHorizontal, 25, 50, 50, 200)
With shpCurrShape
With .TextFrame.TextRange
'------------ Below is an ARABIC string
.Text = ChrW$(&H6A9) & ChrW$(&H64A) & ChrW$(&H641) & " " & ChrW$(&H62D) & ChrW$(&H627) & ChrW$(&H644) & ChrW$(&H643)
With .Font
.Name = "someFontName" '-------------- THIS LINE IS NOT WORKING
.Size = 65
End With
End With
End With
End With
End With
如上所述,阿拉伯语文本的字体没有改变。当文本框包含英文文本时,字体更改效果很好。如果混合了阿拉伯文和英文文本,则会更改英文字体,但阿拉伯文文本保持默认字体(即 Arial)。
此代码在 Office 2003 中运行良好,但我在尝试在 Office 2007/2010 中运行时遇到了这个问题。我已经仔细检查过,我尝试指定的字体已安装在计算机上。
虽然我只测试了阿拉伯语脚本语言(阿拉伯语/乌尔都语/波斯语等),但我想在处理任何非拉丁脚本语言时都会出现这个问题。
有什么建议么?似乎是更高版本的 ms office 中的错误。
PS。按照@Steve ( .LanguageID = msoLanguageIDArabic
) 的建议设置文本框语言无效:(