我一直试图在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
我为上面的代码得到了一个子程序或函数没有定义错误。任何想法我怎么能更容易。
答案 0 :(得分:0)
在LibreOffice中插入分页符Calc工作表与MS Office VBA略有不同。使用LibreOffice Basic(或OpenOffice.org Basic),您可以通过将row's IsStartOfNewPage
property设置为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
这个宏只是在每第10行之后插入一个手动分页符(注意第一行是Rows(0)
,所以Rows(10)
是第11行),直到当前工作表的第101行。您可以轻松调整该代码以满足您的需求(最大行数等)。