oef 8

Views:
 
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Kantoorautomatisering: 

Kantoorautomatisering Prof. dr. ir. W. Philips Didactisch materiaal bij de cursus Academiejaar 2006-2007 philips@telin.ugent.be http://telin.ugent.be/~philips/kantoorautomatisering/

Copyright notice: 

Copyright notice This PowerPoint presentation was developed as an educational aid to the renewed course 'Office automation' (Kantoorautomatisering), taught at the University of Gent, Belgium as of the year 2000. This presentation may be used, modified and copied free of charge for non-commercial purposes by individuals and non-for-profit organisations and distributed free of charge by individuals and non-for-profit organisations to individuals and non-for-profit organisations, either in electronic form on a physical storage medium such as a CD-rom, provided that the following conditions are observed: 1. If you use this presentation as a whole or in part either in original or modified form, you should include the copyright notice '© W. Philips, Universiteit Gent, 1998' in a font size of at least 10 point on each slide; 2. You should include this slide (with the copyright conditions) once in each document (by which is meant either a computer file or a reproduction derived from such a file); 3. If you modify the presentation, you should clearly state so in the presentation; 4. You may not charge a fee for presenting or distributing the presentation, except to cover your costs pertaining to distribution. In other words, you or your organisation should not intend to make or make a profit from the activity for which you use or distribute the presentation; 5. You may not distribute the presentations electronically through a network (e.g., an HTTP or FTP server) without express permission by the author. In case the presentation is modified these requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the presentation, and can be reasonably considered independent and separate works in themselves, then these requirements do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the presentation, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. In particular note that condition 4 also applies to the modified work (i.e., you may not charge for it). 'Using and distributing the presentation' means using it for any purpose, including but not limited to viewing it, presenting it to an audience in a lecture, distributing it to students or employees for self-teaching purposes, ... Use, modification, copying and distribution for commercial purposes or by commercial organisations is not covered by this licence and is not permitted without the author’s consent. A fee may be charged for such use. Disclaimer: Note that no warrantee is offered, neither for the correctness of the contents of this presentation, nor to the safety of its use. Electronic documents such as this one are inherently unsafe because they may become infected by macro viruses. The programs used to view and modify this software are also inherently unsafe and may contain bugs that might corrupt the data or the operating system on your computer. If you use this presentation, I would appreciate being notified of this by email. I would also like to be informed of any errors or omissions that you discover. Finally, if you have developed similar presentations I would be grateful if you allow me to use these in my course lectures. Prof. dr. ir. W. Philips E-mail: philips@telin.ugent.be Department of Telecommunications and Information Processing Fax: 32-9-264.42.95 University of Gent Tel: 32-9-264.33.85 St.-Pietersnieuwstraat 41, B9000 Gent, Belgium

Visual Basic for Applications: 

Visual Basic for Applications

Begrippen: 

Begrippen VBA: Projecten, modules Functies, subroutines Datatypes Eenvoudige controlestructuren De debugger stoppen, door een functie stappen

Technieken: 

Technieken Toolbars zichtbaar maken, verplaatsen, … Knoppen toevoegen aan toolbars en menu’s Macro’s opnemen en elementaire wijzigingen aanbrengen Elementaire macro’s en functies programmeren Auto-macro’s (macro’s die automatisch starten) creëren De betekenis van datastructuren en functies opzoeken in de on-line help

Opmerkingen: 

Opmerkingen Wat moet je hiervan kennen? De technieken, functies, eigenschappen, … die in deze oefeningen aan bod komen De theorie uit de theorieles De hoofdstukken 2, 41 en 42 van het boek (Office 2000-boek: 2, 53 en 54) Elementaire uitbreidingen zelf via de on-line help, trial-and-error, … kunnen terugvinden en implementeren

VBA 1: 

VBA 1 Start Word; zorg ervoor dat onderaan de 'Drawing'-werkbalk zichtbaar is (als dat al niet het geval zou zijn) 1. Voeg aan de 'Drawing'-werkbalk een knopje toe waarmee je een tekstballon kan invoegen in een Word-document; verwijder vervolgens het knopje weer tekstballon 2. Maak een nieuwe werkbalk 'Zorro' aan; voeg er knopjes aan toe om de font in te stellen op Arial, Garamond en Comic Sans MS; plaats (sleep) de werkbalk bovenaan het scherm; test de werking. zelfstudie

VBA 2: 

VBA 2 Creëer een lege PowerPoint presentatie; maak een macro op die 'geselecteerde' tekst in een blauwe kleur zet; gebruik hiervoor de macrorecorder Creëer nu een werkbalk 'Zorro' en voeg de zojuist gecreëerde macro blauw er aan toe Test de macro door allerlei tekst (en tekstvakken) te selecteren en hem erop toe te passen; test de macro ook op b.v. een pijl en experimenteer met de debugger Schrijf het gecreëerde bestand weg, sluit alle PowerPoint-vensters en herstart PowerPoint met een nieuwe presentatie; werkt de macro nog? Tips De macrorecorder neemt teveel operaties op; editeer dus de macro in de VBA-editor en verwijder de overbodige lijn Als je de werkbalk aanmaakt, dan vind je de gecreëerde macro terug onder 'Commands', 'Macros'

VBA 3: 

VBA 3 Voeg een nieuwe functie zorro toe aan Excel, die bij een gegeven getal 12 optelt; doe dit als volgt: Creëer een nieuw werkblad en open de Visual Basic Editor Zoek in het project-venster de naam van het bestand waarmee je aan het werken bent en voeg een module toe (tip: gebruik het contextmenu (via de rechtermuistoets)) Lees eventueel de on-line help over 'function' en bestudeer in het bijzonder het voorbeeld dat daar wordt gegeven Open de eerder gecreëerde module door er twee keer op te klikken en creëer de gevraagde functie Ga terug naar het Excel werkblad (P.S.: je hoeft de VBA-editor niet te sluiten); test de functie zorro door ze te gebruiken in een formule Resultaat: zie functie.xls

VBA 4: 

VBA 4 Voeg een tweede functie toe, n.l. Celsius die een temperatuur in Fahrenheit omzet naar Celsius Je kan deze toevoegen onder de functie zorro Tip: Celsius=(Fahrenheit-32)*5/9 Creëer in je werkblad twee kolommen waarvan de eerste de fahrenheittemperaturen van 25, 30, 35, … 85 bevat en de tweede de corresponderende celsiuswaarden Creëer nu een functie CelsiusNoFreeze die de Celsiuswaarde teruggeeft voor temperaturen boven het vriespunt en 0 voor temperaturen eronder Kopieer hiervoor de functie Celsius en pas ze aan Gebruik een If-blok of de Iif-functie (zie on-line help) Resultaat: zie functie1.xls

VBA 5: 

VBA 5 Open dagen.xls; dit werkblad bevat een aantal datums in kolom A, en een formule in kolom B die het aantal dagen berekent in de betreffende maand Creëer een VBA-functie dagen die het zelfde resultaat berekent als de formule Bereken in kolom C het aantal dagen in de maand door gebruik van de gecreëerde functie dagen Opmerking: De meeste functies in VBA hebben de zelfde naam als in Excel, behalve Date die in VBA DateSerial heet Oplossing: dagen1.xls Kopieer nu dagen.xls naar b.v. test.xls; en gebruik hier de dagen functie uit dagen1.xls; tip: noteer ze als dagen1.xls!dagen Werkt de oplossing als je dagen1.xls sluit? Oplossing: dagen2.xls

VBA 6: 

Open animatie.ppt en maak een werkbalk met daarop drie knopjes die gekoppeld zijn met de macro’s no, gekoppeld met dontanimate: schakel de animatie van het momenteel geselecteerd object uit d1, gekoppeld met animate1: animeer het momenteel geselecteerde tekstvak, gegroepeerd volgens niveau 1 alinea’s d2, gekoppeld met animate2: animeer het momenteel geselecteerde tekstvak, gegroepeerd volgens niveau 2 alinea’s animatie.ppt bevat reeds de macro dontanimate; de andere macro’s lijken er redelijk sterk op; het is de bedoeling dat je de on-line help en de object browser gebruikt om de gepaste commando’s terug te vinden Test de goede werking (opmerking: het is niet de bedoeling dat de macro’s in alle omstandigheden foutloos werken) Resultaat: animatie1.ppt (zonder de werkbalk, vermits die niet kan worden opgeslagen in een ppt-bestand) VBA 6

VBA 7: 

VBA 7 Voeg in Word een sub-menu zorro toe boven-aan het Format menu; zorro laat toe het font in te stellen op Courier New of op Arial Test het menu en verwijder het weer. Tip: in het 'Commands'-tabblad van 'Customize…' vind je 'New Menu'; sleep dit naar de gepaste plaats; klik met de rechtermuistoets op het nieuwe menu om de naam te veranderen

VBA 8: 

VBA 8 Voeg een functie MFunc(x) toe die berekent: Tip: in VBA kan je alle bestaande werkbladfuncties oproepen maar om een of andere reden heeft Sqrt een andere naam gekregen in VBA dan in Excel Om de correcte naam te zoeken, open je de Object Browser (tip: 'View'-menu); ga naar worksheet functions en zoek (b.v. met de verrekijker of door te bladeren) naar iets dat gelijkt op sqrt Eens de correcte naam gevonden, keer je terug naar 'Code View' en gebruik je de gevonden functie in jouw functie Pas in Excel het resultaat toe op de getallen 1 … 12 en vergelijk met de waarde die je met een formule in Excel berekent Resultaat: functie2.xls

VBA 9.1: 

VBA 9.1 Op http://j-walk.com/ss/excel/tips/tip30.htm vind je VBA-functies waarmee je de laatste niet-lege cel in een bepaalde rij of kolom kan opsporen Open last.xls en voeg de functies lastinrow en lastincolumn toe Bereken in 50 opeenvolgende cellen in de eerste kolom (startend met A2) de laatste waarde in de corresponderende rijen Bereken in 50 opeenvolgende cellen in de eerste rij (startend met B1) de laatste waarde in de corresponderende kolommen Verklaar de fouten die je ziet en de foutmeldingen die optreden Resultaat: last1.xls

VBA 9.2: 

VBA 9.2 Pas de VBA-code in last1.xls aan zodat lastinrow en lastincolumn niet langer een waarde terugleveren, maar een referentie naar de laatste cel Ga als volgt te werk Verwijder de variant type declaratie in de bovenste lijn van de functiedefinitie Vervang de lijn LASTINCOLUMN = workrange(i).value door set LASTINCOLUMN = workrange(i) (idem voor lastinrow) Voeg boven de eerste rij een rij toe waarin het rijnummer van het laatste element wordt berekend Voeg voor de eerste kolom een kolom toe waarin het kolomnummer van het laatste element wordt berekend Oplossing: last2.xls

authorStream Live Help