Ændre tekster i Draw via Makro

Brugerhjælp og support til makroer i LibreOffice Basic

Moderators: Lodahl, LarsBrandi

Post Reply
Per Carlsen
Posts: 4
Joined: 17. May 2004 14:50
Location: Hadsund

Ændre tekster i Draw via Makro

Post by Per Carlsen »

Hej Forum.

Jeg er i gang med at undersøge om OpenOffice-Draw kan løfte vores behov, kontra MS Visio (Og derved spare omkring 50.000,-) :D

I denne forbindelse ønsker jeg at gøre brug af nogle macro’s, hvilket jo ser ganske bekendt ud (har arbejdet med VB6.0 i nogle år.), mit problem er hvor jeg ligesom skal finde noget information.

Ingen tvivl om at der findes meget information rundt omkring, jeg har set en del – men føler også lidt at jeg famler i blinde… :?

Jeg har været i gang med http://www.abj.dk/OOo/makroregneark.pdf og ” Andrew Pitonyak's Macro Document” hvilket jeg mener er ganske udmærket dokumenter, men disse omhandler fortrinsvis tekstbehandling og regneark.

Det primære dokumentation jeg kan finde til Draw er omkring tegning af linier m.m. men det er ikke lige det jeg skal bruge.

Mit grund problem for at komme videre er at, hvis man har skrevet en tekst på et Slide, vil jeg gerne kunne ændre denne tekst fra en makro, jeg har navngivet det pågældende tekst felt via ”name object” så man kan se det i navigator, da jeg tror at dette er rigtigt, jeg har været ved at prøve at omskrive/tilrette et eksempel fra makroregneark.pdf men uden det helt store held.

Alt dette udmønter i 3 spørgsmål :

:arrow: Hvordan løser jeg mit aktuelle problem ?
:arrow: Findes der en komplet dokumentation over starbasic i forhold til OpenOffice ?
:arrow: Og til sidst betyder Ooo OpenOffice.org ?

Med Venlig Hilsen

Per

PS. Jeg køre pt. Med en engelsk version af OpenOffice, hvilket på den ene side er lidt dårlig når der nu er lavet en flot dansk version, men de fleste guides m.m. jeg har fundet har været på engelsk, og derved også refereret til engelske menu punkter – så som absolut nybegynder har jeg valgt denne løsning.
:oops:
Ejnar
Posts: 280
Joined: 21. Oct 2003 20:09
Location: Kerteminde

mere dokumentation

Post by Ejnar »

Der er en "How to use BASIC macros in OpenOffice.org" her: http://documentation.openoffice.org/HOW ... macros.sxw
- mon den kan hjælpe?

Ellers er det måske hele SDK'et, du skal se på: http://www.openoffice.org/dev_docs/sour ... index.html

Ja, OOo betyder OpenOffice.org.
Vh
Ejnar
Guest

Re: Ændre tekster i Draw via Makro

Post by Guest »

Per Carlsen wrote: :arrow: Findes der en komplet dokumentation over starbasic i forhold til OpenOffice ?
Der er en ret omfattende Developer's Guide at finde på http://api.openoffice.org/DevelopersGui ... Guide.html
Måske rummer den det, du søger.

Hilsen Henrik
Per Carlsen
Posts: 4
Joined: 17. May 2004 14:50
Location: Hadsund

Re:Ændre tekster i Draw via Makro

Post by Per Carlsen »

Jeg har fundet den der ”how to….” og den ser levende ud, så nu prøver jeg lige at pløje den igennem først, og så må vi jo se :?:

Men: Jeg ser selvfølgelig meget frem til at høre om nogen der har erfaring med Draw og Macro

mvh/ Per
LarsBrandi
Posts: 95
Joined: 22. Oct 2003 12:44
Location: Vojens
Contact:

Erfaring med draw og OOo

Post by LarsBrandi »

dannyB på oooforum.org er en af de lidt mere erfarne, inden for ooomakro. Prøv at se om det er noget du kan bruge her :

http://ooomacros.org/user.php#91518

Den er skrevet af dannyb og skulle du have spørgsmål kan du henvende dig på oooforum.org. Og skulle der komme et lykkeligt resultat ud af det, må du gerne give en tilbagemelding her på hvordan du gjorde.
mvh

Lars Brandi Jensen
Per Carlsen
Posts: 4
Joined: 17. May 2004 14:50
Location: Hadsund

Mål

Post by Per Carlsen »

Hej Lars, tak for at gøre mig opmærksom på at oooforum.org også fandtes,

Og efter ca. 20 min søgen i makro sektionen fandt jeg resultatet, det er oprindelig noget kode der er skrevet til ooo.impress, men virker også i ooo.draw…

Koden er som vist her under

Sub Main
oDrawDoc = ThisComponent
oDrawPage = oDrawDoc.getDrawPages().getByIndex( 0 )
oTextShape = FindShapeByName( oDrawPage, "MyText" )
oTextShape.setString( "This is an example" )
End Sub


' Given an object supporting the XShapes interface,
' find and return a named shape in that collectio of shapes.
' Since a drawing page supports XShapes, you can use this
' function to find a named shape within a draw page,
' or within a grouped shape, or a selection of shapes.
'
Function FindShapeByName( oShapes, cShapeName As String )
nNumShapes = oShapes.getCount()
For i = 0 To nNumShapes - 1
oShape = oShapes.getByIndex( i )
If oShape.getName() = cShapeName Then
FindShapeByName() = oShape
Exit Function
EndIf
Next
End Function

** MyText er objekt navnet på mit tekst objekt

MVH/ Per :D
Post Reply