Pagina 1 van 1

Inhoud van cellen wissen.

Geplaatst: wo apr 14, 2010 10:18 am
door Johan
Ooit heb ik op dit forum een macroscript getoond dat de inhoud van een bepaald aantal aangrenzende cellen gaat verwijderen. Door gebruik te maken van getCellRangeByName kan men gebruik maken van de benaming van de cellen zoals men ze benut in het gewone gebruik van functies. Om de inhoud van de cellen te wissen van C5:D86 gaat de macro als volgt:

Code: Selecteer alles

    sub Gegevens_wissen
    Dim Doc As Object
    Dim Sheet As Object
    Dim CellRange As Object
    Dim Flags As Long

    Doc = ThisComponent
    Sheet = Doc.Sheets(0)  'Het eerste blad of Blad1.'
    CellRange = Sheet.getCellRangeByName("C5:D86")

    Flags = com.sun.star.sheet.CellFlags.STRING + _
          com.sun.star.sheet.CellFlags.VALUE

    CellRange.clearContents(Flags)
    end sub

Re: Inhoud van cellen wissen.

Geplaatst: wo apr 14, 2010 12:36 pm
door RPG
Hallo Johan

Ik denk dat het nog verder gaat dan jouw voorbeeld.
CellRange = Sheet.getCellRangeByName("DitCelGebied")
Het bied dan ook de voordelen van de gegeven namen

Romke

Re: Inhoud van cellen wissen.

Geplaatst: wo apr 14, 2010 4:30 pm
door Johan
Yep, alles wat u kan bepalen tussen A1:AMJ65536. Een aaneengesloten celrange, zoals Eremmel het in zijn PB formuleert. ;)
Trouwens, als u VALUE gaat vervangen door HARDATTR wist u niet enkel de inhoud van de cellen maar ook de celopmaak. Lees hier. ;)

Voorkom geflikker op scherm

Geplaatst: za jun 12, 2010 7:17 pm
door RPG
Hallo

Op dit forum werd een vraag gesteld of het flikkeren van het scherm ook onder drukt kan worden. Uit een klein testje blijkt dat het wel kan.

Code: Selecteer alles

sub wisdeel
oDoc=thiscomponent
oDoc.lockcontrollers
Vul hier de rest van de routine in
oDoc.unlockControllers
end sub
Romke