不定期戯言2

戻る

検索条件:2019年1月23日 

2019/01/23(Wed)

出席番号の変わり目で改ページ

マージした表で明らかにおかしいところを直して, 出席番号順にソートして印刷…したいのだけど, 改ページを入れまくらなければいけない。 Excelだったらわかるんだけど, LibreOffice Calcだとどうしていいのかわからない。 あちこち検索して,改ページがあるかどうかが調べられることはわかったけど, それを設定する方法がわからない。 結局 Option VBASupport 1を指定してExcelと同じ書き方をすることでなんとかなった。 なんとなく負けた気持ち。

(追記)「IsStartOfNewPageプロパティでいける」とのコメントをいただいた。 確かにプロパティだから,値をセットしてもいいんだよな。 そんなわけでこんなコードでうまくいった。 Col=3は,キーになる列がD列だからということ。

Sub Main Col= 3 Doc =ThisComponent Sheet = Doc.Sheets(0) pre = Sheet.GetCellByPosition(Col, 1).Value r = 2 Do Row = Sheet.Rows(r) Cell = Sheet.GetCellByPosition(Col,r) if Cell.Value <> pre then pre = Cell.Value Row.IsStartOfNewPage = True Else Row.IsStartOfNewPage = False End if r = r + 1 Loop While pre<>0 End Sub