Excel シートからデータを取得し、各行の Word シートに段落を生成する Excel Visual Basic スクリプトを作成しました。ドキュメントのデフォルト言語はヘブライ語で、テキストは右揃え、方向は右から左です。段落の 1 行 (最後の行) について、言語を英語、方向を左から右、配置を右に設定したいと考えています。次に、次の段落の最初の行をヘブライ語に戻し、方向を右から左に、配置を右にします。段落の最後の行にいるときに Word でマクロを記録し、ホーム、Shift End を押し、ツールバーのアイコンをクリックして言語、方向、配置を必要に応じて変更すると、次のようになります。
Sub test()
Selection.HomeKey Unit:=wdLine
Selection.EndKey Unit:=wdLine, Extend:=wdExtend
Application.Keyboard (2057)
Selection.LtrPara
Selection.ParagraphFormat.Alignment = wdAlignParagraphRight
End Sub
驚いたことの 1 つは、言語の変更が、方向や配置のようにオブジェクトのプロパティではなく、キーボードを使用しているかのように記録されることです。これをExcel Visual Basicに変換するにはどうすればよいですか? 問題の行は現在、次を使用して追加されています。
With f
.Content.InsertAfter Format(a, "standard") & " x " & Format(b, "#,##0.000") & " x " & Format(c, "#,##0.000") & " / " & Format(d, "#,##0.000") & " = " & Format(e, "standard")
.Content.InsertParagraphAfter
End With
ありがとう、
エルンスト