RPG schreef:Hallo
De waarom vraag kan alleen beantwoordt worden door de ontwerpers want het is niet geimplementeerd.
Ik wil wijzen op een belangrijk verschil van jouw vraag en de vraag waar je naar verwijs.
Als jouw vraag betrekking heeft op een echte macro, denk ik dat het mogelijk moet zijn. De vraag waar je naar verwijs had betrekking op een opgenomen macro die direct een gebruikers reactie verwachtte en dat kan niet op gelost worden.
Jouw feitelijke vraag begrijp ik niet daar je veel kennis van MSO verwacht wat ik niet heb. Ook verwacht je veel andere kennis namelijk macro maken voor een spreadsheet: ook dat heb ik niet.
Als je zelf de macro wilt maken en dus ook de dialoog vensters dan moet je ook echt zelf de macro schrijven. Op zich zelf hoeft dat niet zo moeilijk te zijn als je het API model een beetje kunt begrijpen. Als je macros wilt gaan schrijven moet jet het service en interface idee van de API gaan begrijpen anders worden de macros nodeloos ingewikkeld.
Wat je misschien ook kunt proberen is de macro opnemen en het dialoog venster proberen te omzeilen door de macro aan te passen. Ik wil er op wijzen dat er een groot verschil is tussen opgenomen macro en zelf geschreven macros.
http://www.openoffice.org/files/documen ... rence.html
De link heeft alleen betrekking op iets voor opgenomen macros.
Ik begrijp overigens niet waar om je dit met een macro wilt oplossen maar misschien is het alleen een voorbeeld.
In de help files staat hoe je een dialoog kunt maken.
http://wiki.services.openoffice.org/wik ... e/Language.
Misschien is mijn reactie wat kortaf maar er is een groot verschil tussen MSO en OOo. Dit komt vooral naar voren in de API en macros.
Romke
Dag Romke,
In MSO (voornamelijk Word) leerde ik macro’s maken door gewoon op de opname-toets te klikken, handelingen te verrichten en vervolgens de opname stoppen. Dan las ik in de macro welke commando’s waren gebruikt. Zo bouwde ik mijn woordenkennis op. Als ik het ook zo deed bij OOo, dan zou ik al doende leren welke commando’s er worden gebruikt. De ontwerpers hebben daar helaas (nog) niet aangedacht.
Ik heb geen woordenboek MSO – OOo en helaas bestaat zoiets niet. Jammer genoeg worden de commando’s in dialogen niet apart vermeld. Op zich heb ik geen dialogen nodig, het was alleen een hulpmiddel om achter te komen welk instructie nodig was om bv. een pagina liggend te maken (landscape). En zo ook voor alle andere mogelijkheden en instellingen.
De link naar de
referenties die je mij gaf, toonde mij een aantal commando’s. Op zich is het nuttig (al wordt erbij vermeld dat het “alleen” geldig is voor versie 2.0). Helaas kon ik deze niet terugvinden in Help van OpenOffice. Ook jammer dat er geen korte uitleg bijzat. Ik zou bv bij een (verzonnen) instructie als PaginaMarge iets vinden als:
Code: Selecteer alles
PaginaMarge (Links as integer, Rechts as integer, Boven as integer, Onder as integer)
En daaronder een (korte) uitleg.
Als ik in Macro-omgeving zit en de cursor zit in een instructie-woord, dan geeft F1 aan dat er geen onderwerp is gevonden. Bij MSO krijg ik meteen een (uitgebreide) uitleg over dat woord (contextgevoelig).
Ondertussen moet ik nog de weg weten te vinden op de site van OpenOffice.org. Ondertussen kwam ik toevallig hierop uit om een
pagina liggend te maken. Zulke info zou ik graag willen zien als voorbeeld om inzicht te krijgen.
Dim Doc As Object
Dim Sheet As Object
Dim StyleFamilies As Object
Dim PageStyles As Object
Dim DefPage As Object
Doc = ThisComponent
StyleFamilies = Doc.StyleFamilies
PageStyles = StyleFamilies.getByName("PageStyles")
DefPage = PageStyles.getByName("Default")
DefPage.IsLandscape = True
DefPage.Width = 21000
DefPage.Height = 14800
Alleen hoe vind je zulke informatie intuitief? Ik waardeer OpenOffice ten zeerste. Het zal niet makkelijk zijn om MSO te evenaren om gebruikersvriendelijk te zijn voor macro-ontwikkelaars. Ik heb nog een (lange) weg te gaan en zal er wel komen.
Dank voor je enige aanwijzingen. Ik hoop dat ik andere lezers ook een handje kan helpen (ooit).
Valewijn