[Opgelost] macro gezocht

[Opgelost] macro gezocht

Berichtdoor Valentin » zo okt 17, 2010 11:23 am

Wie helpt mij aan een macro die naar de eerste lege cel gaat in kolom C van een actief rekenblad?
Laatst bijgewerkt door Valentin op zo okt 17, 2010 5:34 pm, in totaal 2 keer bewerkt.
OpenOffice 3.2 Linux Mint + Win 7
Valentin
 
Berichten: 9
Geregistreerd: vr jan 29, 2010 6:29 pm
Woonplaats: Zonhoven Limburg Belgie

Re: macro gezocht

Berichtdoor DvanAken » zo okt 17, 2010 3:26 pm

Ik heb even geprobeerd of ik kon bereiken wat je wilt door macro's op te nemen. Dit geeft in ieder geval resultaat, al vind ik de code niet helemaal overzichtelijk.
Het opnemen heb ik gedaan via Extra - Macro's - Macro opnemen. In eerste instantie de actieve cel naar C1 gebracht, daarna in een aparte macro naar de eerste lege cel. Hierbij maakte ik gebruik van het feit dat je met Ctrl + [Pijl naar beneden] naar de laatste waarde van een rijtje springt. Nog één cel naar beneden zit dus een lege cel en die zocht je blijkbaar.
De macro kun je zoals gebruikelijk starten via het menu, of door een besturingselement (knop) op je spreadsheet te zetten.

De code wordt:
Code: Selecteer alles   UitklappenInklappen
REM  *****  BASIC  *****


sub C_Leeg
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ga naar C1 ----------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$C$1"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem srping naar laatste cel in kolom C ---------------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "By"
args2(0).Value = 1
args2(1).Name = "Sel"
args2(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoDownToEndOfData", "", 0, args2())

rem ga nog 1 cel verder omlaag -------------------------------------------
dim args3(1) as new com.sun.star.beans.PropertyValue
args3(0).Name = "By"
args3(0).Value = 1
args3(1).Name = "Sel"
args3(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args3())

end sub


Groeten, Dirk
Dirk
OpenOffice.org 3.2.1 / Ubuntu 10.10 (Maverick)
DvanAken
 
Berichten: 13
Geregistreerd: wo mei 27, 2009 10:02 pm

Opgelost Re: macro gezocht

Berichtdoor Valentin » zo okt 17, 2010 5:26 pm

Dank voor de reactie en oplossing
OpenOffice 3.2 Linux Mint + Win 7
Valentin
 
Berichten: 9
Geregistreerd: vr jan 29, 2010 6:29 pm
Woonplaats: Zonhoven Limburg Belgie

Re: Opgelost Re: macro gezocht

Berichtdoor LeoDeWeerdt » ma okt 18, 2010 11:33 am

Valentin schreef:Dank voor de reactie en oplossing

Een alternatieve oplossing misschien.

Sheet(6) is het 7de blad (Blad 1 = Nummer 0)
Code: Selecteer alles   UitklappenInklappen
Sub Test
Dim oSheet as Object, oCell as Object   
    oSheet = ThisComponent.Sheets(6)
    oCell=  oSheet.getCellRangeByName("A1")
    ThisComponent.getCurrentController().select(oCell)
End Sub
Leo
Het is voor mij een grote troost dat er geen domme vragen zijn.
LeoDeWeerdt
 
Berichten: 41
Geregistreerd: wo jan 06, 2010 4:26 pm


Keer terug naar Macro's

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers. en 1 gast

cron