Inhoud van cellen wissen.

Forumregels
In dit forum geen vragen stellen, het is uitsluitend bedoeld voor het plaatsten en toelichten van code. Stel vragen in het forum Macro's.
Johan
Berichten: 496
Lid geworden op: di jun 02, 2009 11:53 pm

Inhoud van cellen wissen.

Bericht 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
RPG
Berichten: 4667
Lid geworden op: wo apr 15, 2009 1:01 am
Locatie: Apeldoorn, Nederland

Re: Inhoud van cellen wissen.

Bericht 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
LibreOffice 7.4.3.2 op openSUSE Leap 15.4
Johan
Berichten: 496
Lid geworden op: di jun 02, 2009 11:53 pm

Re: Inhoud van cellen wissen.

Bericht 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. ;)
RPG
Berichten: 4667
Lid geworden op: wo apr 15, 2009 1:01 am
Locatie: Apeldoorn, Nederland

Voorkom geflikker op scherm

Bericht 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
LibreOffice 7.4.3.2 op openSUSE Leap 15.4
Plaats reactie