Nationale Officedag6 maart 2008 VBA voor Word door Lenny Hoeks.

Slides:



Advertisements
Verwante presentaties
Help, ik moet naar Office 2007!?. Wat horen wij bij klanten Training “New UI will cause too big of a loss in productivity” Training “New UI will cause.
Advertisements

KINN 2010 •OOP •O Object •O Georiënteerd •P Programmeren.
Zelf objecten maken in VBA Ynte Jan Kuindersma, BIRD Automation Nationale Officedag 2009 EDE, 14 Oktober 2009.
Sessie E5 Floris M. Kleijne
HM-ES-th1 Les 9 Hardware/Software Codesign with SystemC.
Order placed Should be Nederland Netherlands can be removed here, just Scancorner Instead of ‘undefined’ -> ‘geen’ New logo should be displayed here. COUNTS.
Requirements -People are able to make their own memorial page, called a memori -The website will be build first in Dutch for extension.nl, then copied.
Een alternatief voorstel Naar aanleiding van bestudering van de IAASB voorstellen denkt de NBA na over een alternatief. Dit alternatief zal 26 september.
Alfalab Microtoponiemenproject Expertmeeting (annotaties) Meertens Instituut 8 April 2010 Charles van den Heuvel Virtual Knowledge Studio for the Humanities.
Stateful web, developments, trends 1 Webtechnologie Lennart Herlaar.
JQuery en ASP.NET Bart De Meyer.
Visual Basic 2008 – What’s new André Obelink, MCSD – MVP MarYor | software & consultancy | |
ETHOS PROJECT: PROGRESS Follow-up & feedback end of year 1.
Access en MySql Ynte Jan Kuindersma, BIRD Automation Nationale Officedag 2009 EDE, 14 Oktober 2009.
Gegevensstructuren: list boxen en lijsten
MagentaPurpleTeal PinkOrangeBlue LimeBrown RedGreen Introductie C# /.NET
SQL VOOR BIOLOGEN © 2011 M.L. Hekkelman CMBI Radboud UMC.
Voor VBA programmeurs Maurice de Beijer.  Maurice de Beijer.  The Problem Solver.  Visual Basic MVP.  Blog: theproblemsolver/default.aspxhttp://msmvps.com/blogs/
VBA en VBS Een introductie.
Voor VBA programmeurs Maurice de Beijer.  Maurice de Beijer.  The Problem Solver.  Visual Basic MVP.  Blog: theproblemsolver/default.aspxhttp://msmvps.com/blogs/
Speaking OData to SharePoint 2010 in a RESTful manner Michaël Hompus | Principal Developer | Winvision.
AAHA (voor intern gebruik)
Omgevingen zijn dan geïmplementeerd als Symbol Tables. Symbol Table mapt een symbool met een Binding Meerdere noties van binding –Meerdere manieren te.
Elizabeth Mattijsen Eerste Nederlandse Perl Workshop 5 maart 2004 Parsing XML / HTML.
SQL injections en meer... PERU. web application vulnerabilities Cross Site Scripting (21.5%) SQL Injection (14%) PHP includes (9.5%) Buffer overflows.
Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.1 Computervaardigheden en Programmatie 1rste BAC Toegepaste Biologische Wetenschappen.
Modula vs Java MODULE Show; CONST PI = ; TYPE PointRc = RECORD x,y : INTEGER; speed : REAL; angle : REAL; END; VAR a,b : PointRc; BEGIN.
Informatica Universiteit AntwerpenScripting 5.1 Informatica 1rste BAC Biologie Hoofdstuk 5 Scripting.
Programming for Linguists An Introduction to Python 29/11/2012.
Server side scripting 1 Webtechnologie Lennart Herlaar.
1 Toegepaste Informatica Keuzevak C++ 3°jaar. 2 Studiefiche  Software  Boek (hfst 3-5)  Presentatie (website)
DSpace-gebruikersdag 9 maart 2006 WildFire ● WildFire is ontwikkeld door Henk Druiven, Rijksuniversiteit Groningen Met dank aan Johannes Nicolai en al.
Herhaling: For, While en Do
Opgave 1a: afronden int n=5; double a, b, c, d; a = n * 1.5; b = n * 3 / 2; c = n / 2 * 3; d = 3 / 2 * n; a b c d
Hoorcollege 8 Game object structuren. Arrays in games Grid-gebaseerd speelveld (zoals Tetris) Lijst van spelers Lijst van inventory items Lijst van alle.
Hoorcollege 14 Vijanden, excepties. Wat zit allemaal in een level? Startpositie van de speler Waterdruppels Tiles Vijanden Einde van het level Achtergronden.
Checked exceptions: FileNotFoundException, IOException, …
Visual Basic.
Algoritmiek Strings & Stringmanipulaties; Controle Structuren; Floating-point notation. Hoorcollege 4 - Ma. 25 sept L.M. Bosveld-de Smet.
DB&SQL8- 1 VBA Visual Basics for Applications: eigen Office versie vanaf Office2000 gelijk voor alle applicaties Programmeren onder meer nodig voor Het.
JAVA1 H 22. COLLECTIONS FRAMEWORK. 1. INLEIDING. Collections framework Is een verzameling van data structuren, interfaces en algoritmen Meest voorkomende.
Addendum – ADO.NET ADO.NET : het object model .NET Data Providers
Hoofdstuk 5 – Object Based Programmeren
Hoofdstuk 9 - Grafische User Interface : Deel 1
Hoofdstuk 2 - Inleiding tot Visual Studio .NET IDE
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 3 - onderwerpen Instruction timing Shadow.
DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Beginselen van C opgaves… volgende week: ARM.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag GUI  command line redirection.
Nationale Officedag6 maart 2008 VBA voor Excel door Lenny Hoeks.
Presenteert:.
XForms TU Delft Library Digitale Productontwikkeling Egbert Gramsbergen.
Microsoft Operations Manager & Scripting
1 december KC Development Tools Hands-on Oracle HTML DB v2.0.
Visual Basic 2005 nieuwe taalelementen André Obelink, MCSD, MVP Auteur, VBcentral.nl Auteur, VBcentral.nl Microsoft MVP Visual Basic Microsoft MVP Visual.
Afdrukken met Visual Basic 2008
DSpace-gebruikersdag 9 maart 2006 WildFire ● WildFire is ontwikkeld door Henk Druiven, Rijksuniversiteit Groningen Met dank aan Johannes Nicolai en al.
Visual Basic For Applications De stappen De nieuwe woorden Datum invoegen Formulier Standaardteksten invoegen Naam invoegen Formulier van kleur veranderen.
KINN 2010 OOP O Object O Georiënteerd P Programmeren.
Hoofdstuk 5 Interactie. Controls Form Label Button Label TextBox.
Plan Coordination by Revision in Collective Agent Based Systems Adriaan ter Mors en Gijsbert Deelder Plan Coordination by Revision in Collective.
C++ C++ als een verbetering van C Abstracte datatypen met classes Constructoren en destructoren Subklassen binding van functies 1.
Dag van de Trader - Een casus in TA-script
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 2 definitie.
Programmeerstijl Hoofdstuk 21. Visual Basic.NET voor studenten2 Inleiding Belang van een goede programmeerstijl:  Programma’s worden door meerdere mensen.
Les 7 Multiple Document Interface Programmeren met Visual Basic Karl Moens.
Arrays Hoofdstuk 14 Hoofdstuk 14.
Les 3 Basisbouwstenen (deel 2) Programmeren met Visual Basic Karl Moens.
Tweedimensionale arrays
Hoofdstuk 10.3 Tekst-editor: MDI-interface Dialogen Files lezen Abstracte klassen.
Spreadsheets. Testen. Met spreadsheets.. |  Spreadsheet, het meest gebruikte (test) tool in de wereld …  Aan de slag: Spreadsheet PRA  Risico’s en.
Transcript van de presentatie:

Nationale Officedag6 maart 2008 VBA voor Word door Lenny Hoeks

VBA Word Nationale Officedag6 maart 2008 Onderwerpen Sjablonen systemen gegevens bewaren in een ini-file macro’s in een externe file beveiliging sjablonen Sjablonen systemen gekoppeld aan databases invulvelden invoegen vanuit platte tekst velden verwijderen, koppeling normal custom document properties, ranges naam document instellen Documenten beheer macro buttons Functies in Word overnemen Standaarlettertype instellen, werken met klassen autoexec, autoclose DocumentBeforeClose

VBA Word Nationale Officedag6 maart 2008 Gegevens in Ini file (1) [AANTAL] aantal=6 [OFFICIEEL] officieel1=mevrouw Van den Berg officieel2=mevrouw Demmers officieel3=mevrouw Stuivenberg officieel4=mevrouw Schermer officieel5=mevrouw Van der Willik [TELEFOON] telefoon1=5 94 telefoon2=6 03 telefoon3=5 95 telefoon4=6 18 telefoon5=5 93

VBA Word Nationale Officedag6 maart 2008 Gegevens in Ini file (2) Public Const strConsulenten1 As String = "\DetacheringsConsulenten.txt" Dim strConsulenten As String Dim intI As Integer Dim strKeuze As String Sub ConsulentenLijst() strKeuze = “officieel" On Error Resume Next strConsulenten = ActiveDocument.AttachedTemplate.Path & strConsulenten1 ActiveDocument.FormFields(strKeuze).DropDown.ListEntries.Clear With ActiveDocument.FormFields(strKeuze).DropDown.ListEntries For intI = 1 To System.PrivateProfileString(strConsulenten, "AANTAL", "aantal").Add Name:=System.PrivateProfileString(strConsulenten, UCase(strKeuze), LCase(strKeuze) & CStr(intI)) Next intI End With End Sub

VBA Word Nationale Officedag6 maart 2008 Gegevens in Ini file (3) Sub Telefoonlijst() On Error Resume Next strConsulenten = ActiveDocument.AttachedTemplate.Path & strConsulenten1 strKeuze = "consulent" For intI = 1 To System.PrivateProfileString(strConsulenten, "AANTAL", "aantal") If ActiveDocument.FormFields(strKeuze).Result = System.PrivateProfileString(strConsulenten, UCase(strKeuze), LCase(strKeuze) & CStr(intI)) Then Exit For Next intI strKeuze = "telefoon" ActiveDocument.FormFields("telefoon").Result = System.PrivateProfileString(strConsulenten, UCase(strKeuze), LCase(strKeuze) & CStr(intI)) ActiveDocument.Fields.Update End Sub

VBA Word Nationale Officedag6 maart 2008 Beveiliging sjablonen Public Const PASWOORD As String = “Lynx" Sub BeveiligenDocument() ActiveDocument.Protect wdAllowOnlyFormFields, True, PASWOORD End Sub Sub BeveiligingErAf() ActiveDocument.Unprotect PASWOORD End Sub

VBA Word Nationale Officedag6 maart 2008 Sjablonen met database Public dbMain As New ADODB.Connection Public rsTeksten As New ADODB.Recordset Public SQL As String Denk hierbij aan de ActiveX verwijzing welke verwijzing!!!

VBA Word Nationale Officedag6 maart 2008 Sjablonen met database (2) 'Briefgegevens ophalen dbMain.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Persist Security Info=False;" & _ "Data Source=" & PLAATS_DATABASE SQL = "SELECT * FROM Teksten WHERE Briefnummer=" & _ CInt(TekstInCell(docGegevens.Tables(2).Cell(2, 2).Range.Text)) & ";" rsTeksten.Open SQL, dbMain, adOpenStatic, adLockReadOnly strTekst = rsTeksten("Tekstfragment") strBijlage = rsTeksten("Bijlage") strOndertekening = rsTeksten("Ondertekening") blnAanhef = rsTeksten("Aanhef") rsTeksten.Close dbMain.Close

VBA Word Nationale Officedag6 maart 2008 Tekst in Database Artikel 1>>3,0>>Aanstelling De aanstelling wordt gewijzigd met ingang van [wijzigingsdatum]. [PlaatsWerkzaamheden] is de plaats waar de werkzaamheden worden verricht. Werkgever houdt zich het recht voor genoemde plaats te wijzigen.

VBA Word Nationale Officedag6 maart 2008 Invulvelden invoegen vanuit platte tekst (1) Dim strTekst As String Application.ScreenUpdating = False InstellingenBehEnGebrui.ZoekinstellingenResetten 'TekstvakkenInvoegen ActiveDocument.Bookmarks("BeginDocument").Select Do While Zoeken("\[*\]",, True) = True strTekst = Mid$(Selection.Text, 2, Len(Selection.Text) - 2) Selection.FormFields.Add Range:=Selection.Range, Type:= _ wdFieldFormTextInput Selection.PreviousField.Select Selection.FormFields(1).TextInput.EditType Type:=wdRegularText, Default:=strTekst Loop

VBA Word Nationale Officedag6 maart 2008 Invulvelden invoegen vanuit platte tekst (2) Function Zoeken(Optional strZoekTekst As String = "", _ Optional strVervangTekst As String = "", _ Optional blnJokers As Boolean = False, _ Optional blnFormat As Boolean = False, _ Optional varWrap As Variant = wdFindStop, _ Optional varReplace As Variant = wdReplaceNone) As Boolean With Selection.Find.Text = strZoekTekst.Replacement.Text = strVervangTekst.Wrap = varWrap.Format = blnFormat.MatchWildcards = blnJokers End With Zoeken = Selection.Find.Execute(Replace:=varReplace) End Function

VBA Word Nationale Officedag6 maart 2008 Invulvelden invoegen vanuit platte tekst (3) Sub ZoekinstellingenResetten() Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find.Text = "".Replacement.Text = "".Forward = True.Wrap = wdFindStop.Format = False.MatchCase = False.MatchWholeWord = False.MatchWildcards = False.MatchSoundsLike = False.MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceNone End Sub

VBA Word Nationale Officedag6 maart 2008 Velden verwijderen Sub BeveiligingErafEnOntkoppelen() On Error GoTo ErrHand ActiveDocument.Sections(3).Range.Fields.Unlink ActiveDocument.Unprotect ActiveDocument.AttachedTemplate = Normal Exit Sub ErrHand: MsgBox Err.Number & vbNewLine & _ Err.Description,, TITLE End Sub

VBA Word Nationale Officedag6 maart 2008 Custom Document Properties Sub CDPsMaken(strNaamDocument1 As String, strNaamCDP As String, varWaardeCDP As Variant, _ Optional varTypeCDP As Variant = msoPropertyTypeString) Documents(strNaamDocument1).CustomDocumentProperties.Add _ Name:=strNaamCDP, LinkToContent:=False, Value:=varWaardeCDP, _ Type:=varTypeCDP End Sub CDPsMaken DocumentNaam, "Datum", " ", msoPropertyTypeDate Documents(DocumentNaam).CustomDocumentProperties("Datum") = Date CDPsMaken DocumentNaam, "Kenmerk", strKenmerkAchternaam Documents(DocumentNaam).CustomDocumentProperties("Kenmerk") = rsTeksten("Omschrijving")

VBA Word Nationale Officedag6 maart 2008 Ranges Dim rngDocument As Range Set rngDocument = objDoc.Content rngDocument.SetRange Start:=objDoc.Tables(objDoc.Tables.Count).Range.End, _ End:=rngDocument.End objSjabloon.Paragraphs(objSjabloon.Paragraphs.Count).Range.InsertA fter _ vbNewLine & vbNewLine & Trim$(rngDocument.Text)

VBA Word Nationale Officedag6 maart 2008 Documentnaam voorstellen Als een document nog niet is opgeslagen, kun je een suggestie geven voor de file naam in Bestand, Eigenschappen. ActiveDocument.BuiltInDocumentProperties(wdPropertyTitle) = “DocNaam" With Dialogs(wdDialogFileSummaryInfo).Title = “Titel Document".Execute End With ‘om het pad te bepalen With Dialogs(wdDialogFileSaveAs).Name = "c:\windows\temp\".Show End With

VBA Word Nationale Officedag6 maart 2008 Documentbeheer With Application.FileSearch.NewSearch.LookIn = strMapnaam.SearchSubFolders = False.FileName = "*.doc" If.Execute > 0 Then For intI = 1 To.FoundFiles.Count msgbox.FoundFiles(intI) Next intI Else MsgBox "Geen documenten gevonden." End If End with

VBA Word Nationale Officedag6 maart 2008 Waarschuwingen uitzetten With Application.DisplayAlerts = wdAlertsNone ‘code.DisplayAlerts = wdAlertsAll End With

VBA Word Nationale Officedag6 maart 2008 Wordopdrachten ondervangen Sub FileClose() MsgBox "wordt afgesloten" End Sub

VBA Word Nationale Officedag6 maart 2008 Pad vastleggen Sub FileSave() Dim UserSaveDialog As Dialog Set UserSaveDialog = Dialogs(wdDialogFileSaveAs) ‘als het document al ooit is opgeslagen, wordt het opgeslagen If ActiveDocument.Path <> "" Then ActiveDocument.Save Exit Sub End If With UserSaveDialog.Name = "C:\My Documents" If.Display Then If LCase$(Left$(CurDir, 15)) <> "c:\my documents" Then MsgBox “U kunt het document hier niet opslaan.“, vbCritical, TITEL Exit Sub End If ‘opslaan van het document UserSaveDialog.Execute End If End With End Sub

VBA Word Nationale Officedag6 maart 2008 Klasse declareren In Klasse Module: (GebeurtenisKlasse2) Public WithEvents appWord as Word.Application

VBA Word Nationale Officedag6 maart 2008 Event declareren In een module: Dim X As New GebeurtenisKlasse2 Sub Register_Event_Handler() Set X.App = Word.Application End Sub Sub Autoexec() Register_Event_Handler End Sub

VBA Word Nationale Officedag6 maart 2008 DocumentBeforeClose Private Sub App_DocumentBeforeClose(ByVal Doc As _ Document, Cancel As Boolean) Select Case MsgBox("Het document " & Doc.Name & " wordt gesloten" & vbNewLine & "wilt u dat? ", vbYesNo, “VBA Word") Case Is = vbNo Cancel = True Case Is = vbYes ActiveDocument.Saved = True ‘SendKeys "N" End Select End Sub

VBA Word Nationale Officedag6 maart 2008 Lettertype instellen Private Sub App_NewDocument(ByVal Doc As Document) Private Sub App_DocumentChange() ActiveDocument.Styles(wdStyleNormal).Font.Name = "Comic Sans MS" End Sub

VBA Word Nationale Officedag6 maart 2008 AutoClose Public Sub AutoClose() ‘geef aan dat het document nog opgeslagen dient te worden ‘er verschijnt dan een venster om het document op te slaan ActiveDocument.Saved = False ‘het document wordt niet opgeslagen of gesloten als er op annuleren wordt gedrukt... SendKeys "{ESC}" End Sub

VBA Word Nationale Officedag6 maart 2008 De Rooie Zebra Red Zebra denkt met u mee als het gaat over het vereenvoudigen en stroomlijnen van uw administratieve handelingen. Red Zebra realiseert dit middels de MS Office omgeving. Dat varieert van het professioneel opmaken van Word documenten en PowerPoint presentaties, tot het maken van sjablonen en huisstijl systemen in Word, bedrijfsspecifieke tools in Excel, documentbeheersing middels VBA. Het maken van databases en de koppeling hier naartoe kan ook gerealiseerd worden. Tevens verzorgt Red Zebra onderwijs in bovengenoemde disciplines.