マクロのサンプルを以下に記す :
Sub ExampleSetFontAndStyle()
Dim objSheet As Object
Dim objCell As Object
' objSheet = ThisComponent.CurrentController.ActiveSheet
'
'セルフォーマットの「西洋諸言語用フォント」のフォント設定
objCell = objSheet.getCellRangeByName("B2") objCell.CharFontName = "Arial Black"
'
'セルフォーマットの「アジア諸言語用フォント」のフォント設定
objCell = objSheet.getCellRangeByName("C2")
objCell.CharFontNameAsian = "メイリオ"
'
'セルフォーマットの「西洋諸言語用フォント」の文字サイズ設定
objCell = objSheet.getCellRangeByName("B3")
objCell.CharHeight = 15
'
'セルフォーマットの「アジア諸言語用フォント」の文字サイズ設定
objCell = objSheet.getCellRangeByName("C3")
objCell.CharHeightAsian = 15
'
'セルフォーマットの「西洋諸言語用フォント」のスタイル設定(斜体)
objCell = objSheet.getCellRangeByName("B4")
objCell.CharPosture = com.sun.star.awt.FontSlant.ITALIC
'
'セルフォーマットの「アジア諸言語用フォント」のスタイル設定(斜体)
objCell = objSheet.getCellRangeByName("C4")
objCell.CharPostureAsian = com.sun.star.awt.FontSlant.ITALIC
'
'セルフォーマットの「西洋諸言語用フォント」のスタイル設定(太字)
objCell = objSheet.getCellRangeByName("B5")
objCell.CharWeight = com.sun.star.awt.FontWeight.BOLD
'
'セルフォーマットの「アジア諸言語用フォント」のスタイル設定(太字)
objCell = objSheet.getCellRangeByName("C5")
objCell.CharWeightAsian = com.sun.star.awt.FontWeight.BOLD
'
'セルフォーマットの「西洋諸言語用フォント」のスタイル設定(太字斜体)
objCell = objSheet.getCellRangeByName("B6")
With objCell
.CharPosture = com.sun.star.awt.FontSlant.ITALIC
.CharWeight = com.sun.star.awt.FontWeight.BOLD
End With
'
'セルフォーマットの「アジア諸言語用フォント」のスタイル設定(太字斜体)
objCell = objSheet.getCellRangeByName("C6")
With objCell
.CharPostureAsian = com.sun.star.awt.FontSlant.ITALIC
.CharWeightAsian = com.sun.star.awt.FontWeight.BOLD
End With
End Subマクロ実行後は下記の通り :
「セルの書式設定」 (下図) の「フォント」とタブで設定するのと同様に、
マクロでセルのフォントやスタイル、サイズを設定する際は、
・ 「西洋諸言語用フォント」 (英語)
・ 「アジア諸言語用フォント」 (日本語)
個別ら設定する必要がある。
つまり、日本語の入力されているセルに対して「西洋諸言語用フォント」の
設定をするマクロを実行しても何も変わらないし、英語が入力されている
セルに対して「「アジア諸言語用フォント」の設定をするマクロを実行しても
変化は起きないので、要注意。
コードの各プロパティについての説明は、不精をして省略してしまうので、
「セルの書式設定」とプロパティを対比した下図を参照して頂きたい :
0 件のコメント:
コメントを投稿