Da LibreOffice und seine API nicht an eine bestimmte Scriptsprache gebunden sind, kann das so nicht gehen. Du kannst aber die unbenutzten Spalten und Reihen verbergen. Die Rollbalken passen sich an.
Falls das mit LibreOffice-BASIC-Sub gemact werden soll, kannst du das folgende Paar verwenden:
Sub showUnusedColumnsAndRows()
theDoc = ThisComponent
theSheet = theDoc.Sheets(theDoc.CurrentSelection.RangeAddress.Sheet)
myCursor = theSheet.CreateCursor
myCursor.GotoEndOfUsedArea(0)
myCursor = theSheet.GetCellRangeByPosition(myCursor.RangeAddress.StartColumn+1, myCursor.RangeAddress.StartRow+1, theSheet.RangeAddress.EndColumn, theSheet.RangeAddress.EndRow )
myCursor.Columns.IsVisible = true
myCursor.Rows.IsVisible = true
End Sub
Sub hideUnusedColumnsAndRows()
theDoc = ThisComponent
theSheet = theDoc.Sheets(theDoc.CurrentSelection.RangeAddress.Sheet)
myCursor = theSheet.CreateCursor
myCursor.GotoEndOfUsedArea(0)
myCursor = theSheet.GetCellRangeByPosition(myCursor.RangeAddress.StartColumn+1, myCursor.RangeAddress.StartRow+1, theSheet.RangeAddress.EndColumn, theSheet.RangeAddress.EndRow )
myCursor.Columns.IsVisible = false
myCursor.Rows.IsVisible = false
End Sub
Es gibt auch diese Demo.
(Editierung: Einige überflüssige Codezeilen entfernt.)