2011年5月10日火曜日

選択範囲に罫線をひく

選択したセルに対して、下図のような罫線をひくサンプルマクロについて
考える。
  
Sub ExampleSetTableBorder()
       Dim objSheet As Object
       Dim objRange As Object
       Dim objTableBorder As New com.sun.star.table.TableBorder
       Dim objBorderLineBlack As New com.sun.star.table.BorderLine
       Dim objBorderLineBlue As New com.sun.star.table.BorderLine
       Dim objBorderLineRed As New com.sun.star.table.BorderLine
       '
       objSheet = ThisComponent.CurrentController.ActiveSheet
       objRange = objSheet.getCellRangeByName( "B2:D7" )
       '
       '黒の単線の設定
       With objBorderLineBlack
              .Color = RGB(0, 0, 0)
              .OuterLineWidth = 141
       End With
       '
       '青の単線の設定
       With objBorderLineBlue
              .Color = RGB( 0, 0, 255 )
              .OuterLineWidth = 88
       End With
       '
       '赤の単線の設定
       With objBorderLineRed
              .Color = RGB( 255, 0, 0 )
              .OuterLineWidth = 88
       End With
       '
       With objTableBorder
              '
              '表の外枠の設定
              .LeftLine = objBorderLineBlack
              .RightLine = objBorderLineBlack
              .TopLine = objBorderLineBlack
              .BottomLine = objBorderLineBlack
              .IsLeftLineValid = True
              .IsRightLineValid = True
              .IsTopLineValid = True
              .IsBottomLineValid = True
              '
              '表内の横罫線の設定
              .HorizontalLine = objBorderLineBlue
              .IsHorizontalLineValid = True
              '
              '表内の縦罫線の設定
              .VerticalLine = objBorderLineRed
              .IsVerticalLineValid = True
       End With
       '
       objRange.TableBorder = objTableBorder
End Sub
  
選択範囲に表のように罫線をひく場合は com.sun.star.table.TableBorder
オブジェクトを用いて罫線の太さや色等の属性を設定する。
  
表の外枠については、
   LeftLine、RightLine 、TopLine 、BottomLine
それぞれのプロパティに、罫線の太さや色を設定した com.sun.star.table
.BorderLine オブジェクトを設定する。但し、プロパティに設定しただけでは
外枠は表示されないので、必ず
   IsLeftLineValid、IsRightLineValid 、IsTopLineValid 、IsBottomLineValid
それぞれのプロパティに True を指定することも忘れずに行う必要がある。
  
表内の横罫線を設定する場合についても、HorizontalLine プロパティに
BorderLine オブジェクトの指定するのとと、IsHorizontalLineValid プロパティ
に True を指定するのは、対で行わないと罫線は表示されない。
表内の縦罫線についても同様である。

0 件のコメント:

コメントを投稿