1

LibreOffice Calc で n 行ごとに改ページを挿入しようとしています。動作しないように見えるマクロを試しました:

Sub PAGE_BREAK() 
  For MY_ROWS = 50 To Range("A65536").End(xlUp).Row Step 50
     ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Range("A" & MY_ROWS)
  Next MY_ROWS
End Sub

上記のコードで、サブプロシージャーまたは関数が定義されていないというエラーが発生します。

これをもっと簡単に行う方法はありますか?

4

1 に答える 1

0

LibreOffice Calc シートへの改ページの挿入は、MS Office VBA とは少し異なります。LibreOffice Basic (または OpenOffice.org Basic) では、行のIsStartOfNewPageプロパティを に設定して (水平) 改ページを挿入しtrueます。番目の行ごとにアクセスするにnは、単純に を使用できますThisComponent.Sheets(0).Row(n)

したがって、これを LibreOffice Basic マクロで組み合わせると、結果は次のようになります。

sub pagebreak
rem ----------------------------------------------------------------------
rem define variables
Dim Sheet As Object
Dim Cell As Object   

Sheet = ThisComponent.Sheets(0)

for i = 10 to 100 Step 10
    Sheet.Rows(i).IsStartOfNewPage = true
next i

end sub

このマクロは、現在のシートの行 101 まで、10 行ごとに手動改ページを挿入します (最初の行はRows(0)であり、行 # 11 であることに注意してください)。Rows(10)そのコードをニーズに合わせて簡単に調整できます (最大行数など)。

于 2013-11-20T10:37:43.150 に答える