0

我有以下 Python 代码,它应该更改 Microsoft Word 文档特定范围的字体:

word = client.Dispatch("Word.Application")
word.Visible = 0
word.DisplayAlerts = 0
doc = word.Documents.Open("d:/test2.docx")
par = doc.Paragraphs    
par(1).Range.InsertParagraphAfter()
rng = par(2).Range    
rng.Text = u"works just fine"
rng.Font.Size = 30
rng.Font.Name = "Georgia"

当分配给的字符串rng.Text是英语时它工作正常,但当它是波斯语时,例如rng.Text=u"سلام",或希伯来语rng.Text=u"אקדיא",字体设置不应用并且没有效果。不知道是不是编码问题。当字符串不是英文时,我可以如何设置字体设置的任何想法?

4

2 回答 2

0

Georgia 不是 unicode 字体;它没有您要使用的字符,因此无法应用字体设置。尝试使用支持 unicode 的字体(我相信 Tahoma 和 Lucida Sans 会这样做),看看是否可行。

于 2012-04-28T17:21:27.017 回答
0

Font.Size 属性适用于从左到右的语言。对于从右到左的语言,例如波斯语或希伯来语,MS Word VBA 提供了一个特殊的 SizeBi 属性。所以,在你的代码中,而不是

rng.Font.Size = 30

rng.Font.SizeBi = 30
于 2012-10-25T14:57:28.710 回答