OpenOffice Calcのシートに表示される行と列の数を制限する方法はありますか?
必要な領域の外側に行と列を手動で非表示にすることにしましたが、これは面倒であり、オートフィルターを使用するとリセットされます。
ユーザーごとまたはインストールごとの設定ではなく、シートごとの設定を探していることに注意してください。
Excelでは、これを行うための非常に回りくどい方法があるようですが、OpenOfficeに相当するものを見つけることができませんでした: http://spreadsheets.about.com/od/excelformulas/ss/2011- 05-14-Excel-2010-limit-rows-tutorial.htm
利用可能なさまざまな回避策の中で、行と列を非表示にするのが最善のように思えます。これを自動的に実行するサブルーチンは次のとおりです。
Sub HideRowsAndColumns(iLastVisibleRow As Integer, iLastVisibleCol As Integer)
oController = ThisComponent.CurrentController
oSheet = oController.ActiveSheet
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.Sun.star.frame.DispatchHelper")
oCellRange = oSheet.getCellRangeByPosition(_
0, iLastVisibleRow, 0, oSheet.Rows.Count - 1)
oController.select(oCellRange)
dispatcher.executeDispatch(document, ".uno:HideRow", "", 0, Array())
oCellRange = oSheet.getCellRangeByPosition(_
iLastVisibleCol, 0, oSheet.Columns.Count - 1, 0)
oController.select(oCellRange)
dispatcher.executeDispatch(document, ".uno:HideColumn", "", 0, Array())
oCellRange = oSheet.getCellRangeByPosition(0, 0, 0, 0)
oController.select(oCellrange)
End Sub
たとえば、ドキュメントを開いたときに次のルーチンを呼び出すことができます(Tools -> Customize -> Events
):
Sub DoHideRowsAndCols
HideRowsAndColumns(20,10)
End Sub
LibreOfficeでは、AutoFilter
は行を再表示しませんでした。ただし、ApacheOpenOfficeでは実行されました。したがって、AOOの場合、AutoFilter
を実行した後、ルーチンを再度呼び出す必要があります。
別の方法は、セルを非表示にする代わりに、編集されないようにセルを保護することです。 https://ask.libreoffice.org/en/question/17106/is-it-possible-to-impose-a-limit-columns-and-rows-on-spreadsheet-size/ を参照してください。 。
イベントハンドラーを追加して、特定の行を超えてスクロールしないようにすることができる場合があります。スプレッドシートイベントハンドラーの例については、 https://stackoverflow.com/questions/35240690/how-to-scroll-all-libreoffice-calc-spreadsheet-sheets-together-or-other-3d-)を参照してください。 li/35244220#3524422 。
しかし、そのようなハンドラーを追加することは、ユーザーにとって非常に苛立たしいことだと思います。セルをクリックして何も起こらないようにするか、ビューが突然元のビューにスクロールして戻る可能性があります。