不定期戯言

戻る

« | 2019 | Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec | »

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

コメント(2)

参考まで wrote at 2019-01-23 21:46:

LibreOffice Basicならば
LibreOffice macro IsStartOfNewPage
で検索

わたやん wrote at 2019-01-23 22:16:

あ,そうか。あれはプロパティだからbooleanな値をセットしてやればいいんですね。検証して追記します。ありがとうございます。

コメント投稿

日本語の文字が入っていないものは受け付けません。URL欄は使わないでください。

Name:
URL (NEVER USE):
Comments:

トラックバック(0)

トラックバック用URL: https://watayan.net/blosxom.cgi/computer/201901230001.trackback