我有以下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"אקדיא"
,字体设置未应用且无效。我不知道这是否是一个编码问题。有什么想法如何在字符串不是英文时设置字体设置吗?
答案 0 :(得分:0)
格鲁吉亚不是unicode字体;它没有您尝试使用的字符,因此无法应用字体设置。尝试使用支持unicode的字体(我相信Tahoma和Lucida Sans会这样做),看看是否有效。
答案 1 :(得分:0)
Font.Size属性适用于从左到右的语言。 对于从右到左的语言,如波斯语或希伯来语MS Word VBA提供了一个特殊的SizeBi属性。 因此,在您的代码中,而不是
rng.Font.Size = 30
写
rng.Font.SizeBi = 30