マクロでCalcファイルを自動生成していると、セルを結合したいこともでてきます。
日本語で検索してもなかなか見つからなくて、キーワードを変えて見つけたのがこれ。
・OOoのCalcでセルの結合/結合解除をキーボードショートカットで行う
でも結合するセルを選んでからってのはちょっと違うんだよね。
あぁ、「結合」は「merge」なのかってことで検索しなおして見つけたのがこれ。
・[Solved] A macro to merge cells in Calc using OO.org Basic
読んでみたら、前に誰かが質問してて回答がついてる記事があるよってURL書いてあるね。
・Calc Array Macro Cell Merge Issue
たどり着きました。
このPostのcodeを元に作ったのがこれ。
わかってしまえばどうってことはないですね(^^;
引数に4つの整数(左上の座標と右下の座標)を渡すサブルーチンになっていますが、”A3:C7″形式で渡したいときは、getCellRangeByName() を使ってRangeを指定するように変更してください。
' ' 指定された範囲(range)のセルを結合(merge)する ' Sub Sb_MergeCells( oSht As Object, iLeft As Long, iTop as Long, iRight As Long, iBottom As Long, Optional bTF As Boolean ) Dim bTrueFalse As Boolean If isMissing(bTF) Then bTrueFalse = True Else bTrueFalse = bTF End If Dim oRange As Object oRange = oSht.getCellRangeByPosition( iLeft, iTop, iRight, iBottom) oRange.merge(bTrueFalse) End Sub 'Sb_MergeCells