Macro's in OpenOffice.org



Vergelijkbare documenten
Briefhoofd maken in Word. Handleiding van Helpmij.nl

Inleiding Visual Basic en VBA. Karel Nijs 2009/01

Cursus Onderwijs en ICT. Programmeren met Visual Basic

INLEIDING... 1 A FSPRAKEN... 2 INHOUDSOPGAVE...

LibreOffice. LibreOffice een alternatief voor andere office pakketten?

Hoofdstuk 23: Eenvoudig taken automatiseren met macro s

6.2 VBA Syntax. Inleiding Visual Basic

Afspraken. Dit moet je letterlijk intypen.

Word 2016 VBA Cursus Leer programmeren in Word

Programmeren in Word 2013 met VBA

Afspraken vet voorbeeldenmap oefeningenmap

Technische Fiche om een commando met een passend icoontje aan te maken in de Ribbon Interface.

Programmeren: Visual Basic

Programmeren in Excel 2016 met VBA

Programmeren in Excel VBA beginners. Karel Nijs 2010/09

Hoofdstuk 19: Macro s

6.3 VBA Syntax Instructie. Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken.

1. Kennismaken met Impress

Inhoud. VBA Excel 2010

Taken automatiseren met Visual Basicmacro's

VBA voor doe-het-zelvers

No part of this book may be reproduced in any form, by print, photoprint, microfilm or any other means without written permission of the publisher.

Hoofdstuk 13 Kennismaken met macro's

Afspraken. Typ Dit moet je letterlijk intypen.

EXCEL MACRO ZET TEKST IN GESELECTEERDE CELLEN OM: NAAR KLEINE LETTERS NAAR KLEINE LETTERS MET BEGINHOOFDLETTER NAAR HOOFDLETTERS

Afspraken vet voorbeeldenmap oefeningenmap

Je vindt in de startmap ook het bestand Appendix Excel pdf. Het bestand

Hoofdstuk 1: Een eerste Visual Basic project

Programmeren: Visual Basic

EXCEL MACRO ZET TEKST IN GESELECTEERDE CELLEN OM NAAR KLEINE LETTERS

Hoofdstuk 13 Kennismaken met macro's

Programmeren in Excel VBA. Karel Nijs 2010/09

Hoofdstuk 7: Werken met arrays

Hoofdstuk 13 Kennismaken met macro s

OFFICE 2007 EXCEL. Roger Frans. campinia media vzw

Een eerste applicatie

VAN HET PROGRAMMEREN. Inleiding

Cursus Programmeren in Excel 2013 met VBA

Handleiding voor het installeren van VBA scripts in Outlook

9.19 Macro s: oefeningen

23. Standaardbrieven (MailMerge)

Van macrorecorder door naar VBA

Inhoudsopgave. Module 2 Geavanceerde formulieren

Programmeren in Access met VBA

9.18 Macro s: oefeningen

Macro s maken Word nog sneller

Programmeren in Access 2016 met VBA

Dieper in Visual Basic.Net

MACRO S BEVEILIGING TOETS OPNIEUW MAKEN ANTWOORDEN WISSEN GEGEVEN ANTWOORDEN WISSEN INSCHAKELEN UITSCHAKELEN

Hoofdstuk 13 Starten met macro's

21 Macro s Macro s opnemen Macro's uitvoeren

Hoofdstuk 12 Werken met sjablonen

Macro s. 4.2 Een macro maken

Afspraken vet voor- beeldenmap oefeningenmap

Migreren naar Access 2010

Programmeren in Excel VBA. Karel Nijs 2010/09

Programmeerstructuren met App Inventor

Opdracht Informatica Tutorial Visual Basic

22. Sjablonen. In deze module leert u: 1. Wat een sjabloon is. 2. Hoe u sjablonen gebruikt. 3. Hoe u zelf sjablonen kunt maken.

Stap 1 Achterhalen van de map OPSTARTEN

Afspraken vet voor- beeldenmap oefe- ningenmap

MS Access. Module 0. Pakketnaam, versie 2002 (NL) Nummer: 296 ( ) The Courseware Company

Bij het opstarten van Small Basic verschijnt er de onderstaande werkomgeving.

Computervaardigheden. Universiteit Antwerpen. Computervaardigheden en Programmatie. Grafieken en Rapporten 1. Inhoud. Wat is scripting?

2/3 OFFICE 2007 ACCESS. Roger Frans. campinia media vzw

Voorbeelden VBA Excel

Parallelle Poort Aansturen Met Visual Basic

II. ZELFGEDEFINIEERDE FUNCTIES

Auteur boek: Vera Lukassen Titel boek: Word Gevorderd , Serasta Uitgegeven in eigen beheer Eerste druk: augustus 2012

OneDrive voor bedrijven en scholen

Hoofdstuk 4: Nieuwe objecten

Hoofdstuk 1: Een eerste Visual Basic project

Central Station. CS website

Hoofdstuk 9: Menu s toevoegen

Inhoud. Informatica. Hoofdstuk 5 Scripting. Context. Editor voor Programmeercode. Scripting 1

Gebruiksaanwijzing. Versie 1.0. Michiel Bouman

Looproute Microsoft OneNote 2010 versie 1.0. Looproute Microsoft OneNote Inleiding

1) Een sequentieel bestand schrijven

Formulieren maken met Dreamweaver CS 4/CS 5

Verstuur een eigen Kerst ! Mét muziek en bewegende plaatjes!

VAN HET PROGRAMMEREN. Inleiding. Het spiraalmodel. De programmeertaal. vervolgens de berekening van het totale bedrag, incl. BTW:

Versie: 0.2. Gebruikershandleiding XOPUS XML-editor

INLEIDING... 1 AFSPRAKEN... 2 INHOUDSOPGAVE...

Gebruikershandleiding XOPUS XML-editor

Inhoud Expertcursus. Word 2010 NL-NL

Captain Reader. E-captain help E-captain help

Microsoft PowerPoint is een programma om presentaties en diavoorstellingen te maken.

Programmeren in Excel met VBA

Inleiding. Roger Frans oktober Inleiding - 1

Excel VBA voor professionals (c) Wim de Groot

Microsoft. Excel VBA. Michael Alexander John Walkenbach

Handleiding voor Excel to Image

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET

Greet Verhelst In het volgende scherm log je in met je gebruikersnaam of adres en paswoord.

VBA voor doe het Zelvers - deel 10

Een tekst bewerken Een schoolrapport berekenen Een overschrijving uitvoeren van de ene naar de andere bankrekening Surfen op het Internet

Programmeren in Excel VBA. Karel Nijs 2010/09

Opleidingscatalogus: Automatisering

Transcriptie:

Macro's in OpenOffice.org Ynte Jan Kuindersma (BIRD Automation) Nationale Officedag Ede - Sessie B2 6 maart 2008 1 van 22

Doel Kennismaken met macro's en OO Basic Laten zien dat vrijwel alles wat in MS Office kan qua programmeren ook in OpenOffice kan 2 van 22

Vergelijking met MS Office Er wordt ook gewerkt met sjablonen die code en dialoogvensters kunnen bevatten (werkgroepsjablonen) Je kunt eigen addon's maken die in alle documenten werken Je kunt ook eigen werkbalken en menu's maken Het is wel lastiger Geen intellisense meer objecten, fragmentarischer Code wordt in ieder document opgeslagen 3 van 22

Gemeente Heerenveen VBA-code Huisstijl opnieuw gemaakt Addon-on nagemaakt 4 van 22

Programmeertalen Voor macro's binnen OpenOffice Javascript Python Beanshell OpenOffice Basic Dit wordt gebruikt tijdens deze sessie Ergens tussen Wordbasic en VisualBasic for Applications in Van buiten af Iedere willekeurige taal Met name Java, maar Visual Basic of Delphi kan ook 5 van 22

Macro opnemen - I Eerst handeling opnemen, dan pas macro naam geven Je kunt macro opslaan in Document = documentgebonden Mijn Macro's = gebruiker gebonden OpenOffice Macro's = computer gebonden Uitvoeren via Extra -> Macro uitvoeren Beheren, aanpassen en testen Extra -> Macro's beheren -> OpenOffice.org Basic Alt-F11, F5, F8, F9 6 van 22

Macro opnemen - II sub Main dim document as object dim dispatcher as object document = ThisComponent.CurrentController.Frame dispatcher = createunoservice("com.sun.star.frame.dispatchhelper") dim args1(0) as new com.sun.star.beans.propertyvalue args1(0).name = "Text" args1(0).value = "ynte jan kuindersma" dispatcher.executedispatch(document, ".uno:inserttext", "", 0, args1()) dispatcher.executedispatch(document, ".uno:insertpara", "", 0, Array()) dim args3(0) as new com.sun.star.beans.propertyvalue args3(0).name = "Text" args3(0).value = "bird automation" dispatcher.executedispatch(document, ".uno:inserttext", "", 0, args3()) end sub 7 van 22

Code zelf schrijven Invoegen en hernoemen modules Invoegen procedures Alleen de bovenste kan worden gestart Voorbeelden Msgbox Inputbox Werken met variabelen For i = 1 to 3 - Next 8 van 22

Briefsjabloon - demo Nieuw sjabloon met bookmarks Dialoogvenster met tekstvakken Code om dialoog te tonen Code om gegevens uit het dialoogvenster in brief te zetten en venster te sluiten (Ok en Cancel knoppen) Dialoog tonen bij openen van document 9 van 22

De brief zelf Opslaan als OpenDocument Text sjabloon (Bestand -> opslaan als) Invoegen -> Bladwijzer bmkaan en bmkonderwerp 10 van 22

De code achter de brief - I Alt-F11 om naar editor te gaan Nieuwe codemodule toevoegen of in bibliotheek Standard gebruiken Toevoegen locale kopie van LoadDialogs() functie uit globale bibliotheek Tools (voor de zekerheid) Dialoogvenster dlgbrief maken 11 van 22

Dialoogvenster maken Maken dialoogvenster (Rechts klikken op tabblad -> invoegen BASIC-dialog) 2 labels 2 tekstvakken (bmkaan, bmkonderwerp) Commandknoppen (cmdok en cmdannuleren) Rechts klikken op control voor instellen eigenschappen Naam dialoogvenster dlgbrief 12 van 22

Dialoogvenster - II 13 van 22

De code achter de brief - II Module variable dim olibdlg as object Procedure Main voor tonen van dialoogvenster Sub Main olibdlg = LoadDialog("Standard", "dlgbrief") olibdlg.execute() End Sub 14 van 22

De code achter de brief - III Klik-procedure achter OK-knop Variant 1 Koppelen aan knop via Eigenschappen -> Tabblad Gebeurtenissen -> Bij het oproepen Bookmarks één voor één vullen private sub cmdok_click dim textbox as object textbox =olibdlg.getmodel.getbyname("bmkaan") odok = ThisComponent obm = odok.getbookmarks().getbyname("bmkaan") obm.anchor.string = textbox.text REM Etc. etc. olibdlg.endexecute() End sub 15 van 22

De code achter de brief - III Klik-procedure achter OK-knop Variant 2 Bookmarks één voor één vullen met functie private sub cmdok_click dim textbox as object textbox =olibdlg.getmodel.getbyname("bmkaan") SetFieldResult("bmkAan", textbox.text) REM Etc. etc. olibdlg.endexecute() End sub private function SetFieldResult(strName, strcontent) odok = ThisComponent obm = odok.getbookmarks().getbyname(strname) obm.anchor.string = strcontent end function 16 van 22

De code achter de brief - IV Klik-procedure achter OK-knop Variant 3 Bookmarks één voor één vullen met loop private sub cmdok_click odok = ThisComponent obms = odok.getbookmarks() on error resume next for i = 0 to obms.count() - 1 obm = obms.getbyindex(i) textbox = olibdlg.getmodel.getbyname(obm.name) obm.anchor.string = textbox.text next i on error goto 0 olibdlg.endexecute() End sub 17 van 22

De code achter de brief - V Annuleren knop Private Sub cmdannuleren_click() olibdlg.endexecute() End Sub Koppelen aan knop via Eigenschappen -> Tabblad Gebeurtenissen -> Bij het oproepen 18 van 22

Dialoog tonen bij nieuw document Code voor het tonen van dialoogvenster koppelen aan maken nieuw document In Writer: Extra -> Aanpassen - > Tabblad Gebeurtenissen - > Document maken - > knop Macro -> Macro kiezen. 19 van 22

Dialoog tonen bij nieuw document 20 van 22

Knop op knoppenbalk Code in algemene bibliotheek of pakket Private Sub Briefede() odoc = StarDesktop.loadComponentFromURL( ConvertToURL("file:///C:/demo/briefede.ott"), "_blank", 0,_ Array(MakePropertyValue("MacroExecutionMode", com.sun.star.document.macroexecmode.always_exe CUTE_NO_WARN))) End Sub Code koppelen aan werkbalk via: Extra -> Aanpassen -> Werkbalken -> Toevoegen 21 van 22

Naslag Macro help http://www.oooforum.org http://www.ooomacros.org/ Uno-documentatie / dispatcher http://www.openshortcut.org/ooo/function-uno.php Andrew Pitonyak's Macro Document (300 pagina's): http://www.pitonyak.org/oo.php Downloaden Open Office: http://nl.openoffice.org Website converteren VBA naar Calc-basic: http://www.business-spreadsheets.com/vba2oo.asp 22 van 22