måndag 10 september 2007

En funktion jag ofta saknat när jag kopierar in information i ett calcblad är möjligheten att snabbt kunna få alla celler att få "optimal höjd och bredd". Här är ett makro som löser det problemet. Jag har försökt att kommentera så mycket som möjligt i själva makrot.
Här är makrotexten:

Sub OptimalBreddHojdAllaCeller
REM Definiera variabler till detta makro
Dim Doc As Object
Dim I As Integer

REM tilldelar Doc som referensnamn till nuvarande dokument
Doc = StarDesktop.CurrentComponent

REM Startar en loop som kommer att köras lika många gånger
REM som det finns blad i calcdokumentet
REM Loopen räknar bladen och drar sedan ifrån ett,
REM Att vi drar ifrån ett beror på att referensen till

REM första bladet börjar på noll dvs. Doc.Sheets(0)
For I = 0 To Doc.Sheets.getCount() -1

REM Verkställ optimal bredd på alla celler i aktivt blad.
Doc.Sheets(I).getColumns.OptimalWidth = True
REM Verkställ optimal höjd på alla celler i aktivt blad.
Doc.Sheets(I).getRows.OptimalHeight = True

REM Ta ett steg framåt i loopen
Next I
End Sub

Inga kommentarer: