0

MicrosoftWordドキュメントの特定の範囲のフォントを変更することになっている次のPythonコードがあります。

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

Font.Sizeプロパティは、左から右の言語用です。ペルシア語やヘブライ語などの右から左への言語の場合、MSWordVBAは特別なSizeBiプロパティを提供します。したがって、コードでは、代わりに

rng.Font.Size = 30

書きます

rng.Font.SizeBi = 30
于 2012-10-25T14:57:28.710 に答える
0

ジョージアはユニコードフォントではありません。使用しようとしている文字が含まれていないため、フォント設定を適用できません。Unicodeをサポートするフォント(TahomaとLucida Sansがサポートしていると思います)を試して、それが機能するかどうかを確認してください。

于 2012-04-28T17:21:27.017 に答える