Fragenkatalog zur Prüfungsvorbereitung

Transcrição

Fragenkatalog zur Prüfungsvorbereitung
HAW Hamburg / Dept. F+F / DV
Fragenkatalog zur Pruefungsvorbereitung.doc
Fragenkatalog zur Prüfungsvorbereitung - Themenkomplex VBA
Inhaltsverzeichnis
A.
B.
C.
D.
E.
F.
G.
H.
I.
J.
Grundlagen ....................................................................................................................... 1
Datentypen und Variablendeklaration ............................................................................ 3
Operatoren und Wertzuweisungen................................................................................. 4
Wichtige VBA-Funktionen................................................................................................ 5
Kontrollstrukturen ............................................................................................................ 5
Makros und Funktionen & Prozeduren mit Argumenten............................................... 6
Objektorientierte Programmierung mit VBA................................................................... 7
Fehlertolerante Programmierung mit VBA...................................................................... 7
UserForms, Module und Klassenmodule etc. ................................................................. 8
Applikationsübergreifende VBA-Programmierung ......................................................... 8
A. Grundlagen
1. Wofür steht die Abkürzung VBA?
2. Kann man mit VBA kompilierte Programme als ausführbare Datei speichern?
3. Welche der folgenden Aussagen treffen auf VBA zu:
Die Sprache ist…
† … nur objektorientiert
† … rein prozedural
† … hybrid (mit prozeduralen und objektorientierten Elementen)
† … eine Interpretersprache
† … plattformunabhängig
† … optimal für umfangreiche Rechenoperationen (wie z.B. FEM-Analysen)
† … nur zusammen mit einer Host-Anwendung verwendbar
† … in der Lage, grafische Benutzeroberflächen zu erzeugen
† … von Hackern zur Programmierung von Makroviren missbraucht worden
† … unterscheidet nicht zwischen Groß- und Kleinschreibung
4. Beschreiben Sie kurz, wozu die einzelnen Fenster des VB-Editors dienen:
a. Code-Fenster
b. Projekt-Explorer
c. Eigenschaftsfenster
d. Lokalfenster
e. Direktfenster
5. Welche Anweisung erzeugt Ausgaben in das Direktfenster?
6. Was bedeutet „Debuggen“?
Nennen Sie mindestens drei Funktionen, die der VB-Editor hierfür anbietet.
Dipl.-Ing. J. Abulawi
SS 2009
Seite 1/8
HAW Hamburg / Dept. F+F / DV
Fragenkatalog zur Pruefungsvorbereitung.doc
7. Welche Art von Programmfehlern kann der VB-Editor
a. automatisch schon bei der Quellcodeeingabe erkennen?
b. erst bei der Ausführung einer Prozedur erkennen?
c. gar nicht erkennen?
8. Was passiert mit einer gerade ausgeführten Prozedur und ihren lokalen Variablen,
wenn ein Laufzeitfehler auftritt und der Benutzer in der Fehlermeldung die
Schaltfläche „Debuggen“ anklickt? Wie nennt man den resultierenden
Prozedurzustand?
9. Wie kann man seinen VBA-Quellcode gegen den „Diebstahl geistigen Eigentums“
schützen?
10. Wozu dient der Objektkatalog des VB-Editors?
11. Welche beiden Zeichen können in VBA das Ende einer Anweisung kennzeichnen?
12. Wie kennzeichnet man Kommentare in VBA?
13. Welches Zeichen dient im Codefenster des VB-Editors als Dezimaltrennzeichen von
Gleitkommazahlen?
14. Welche Aufgabe hat das Komma im VBA-Quellcode?
15. Wie muss man die Sicherheitseinstellungen in MS Excel ändern, um VBAProzeduren ausführen zu können, die man selber erzeugt hat?
16. Warum ist die Sicherheitsstufe „Niedrig“ nicht empfehlenswert?
17. Was sollte man immer tun, bevor man VBA-Quellcode ausführt, den man im
Internet gefunden hat?
18. Unter welchen Voraussetzungen darf/sollte man für ein Programmierprojekt
Codeabschnitte verwenden, die man nicht selber entwickelt hat?
19. Wie sind in diesem Zusammenhang vom Makrorekorder aufgezeichnete
Quellcodeabschnitte zu bewerten?
20. Was sollte man vor der Verwendung des Makrorekorders immer machen, wenn
man kein erfahrener VBA-Programmierer ist?
21. Wo speichert der Makrorekorder den aufgezeichneten VBA-Quellcode?
22. Kann der Makrorekorder VBA-Quellcode erzeugen, der
a.
Eingaben vom Benutzer annimmt?
b. Kontrollstrukturen enthält?
c. Mitteilungen an den Benutzer zurückgibt?
23. Wann ist die Verwendung des Makrorekorders in Excel-VBA sinnvoll? (Nennen Sie
drei Beispiele)
24. Wann ist die Unterteilung einer Prozedur in mehrere einzelne Prozeduren sinnvoll?
25. Wo werden VBA-Prozeduren in Excel in der Regel gespeichert?
26. Wie können Sie eine VBA-Prozedur am einfachsten für jemanden ausführbar
machen, der „nur“ normaler Excelanwender ist und VBA nicht kennt?
27. Wie kann man eine VBA-Prozedur in einer eigenen Datei speichern?
Dipl.-Ing. J. Abulawi
SS 2009
Seite 2/8
HAW Hamburg / Dept. F+F / DV
Fragenkatalog zur Pruefungsvorbereitung.doc
B. Datentypen und Variablendeklaration
1. Wann kann man in VBA undeklarierte Variablen verwenden?
2. Worin unterscheidet sich die vollständige von der unvollständigen
Variablendeklaration? Nennen Sie ein Beispiel für jede Deklarationsart.
3. Was bewirkt die Anweisung „Option Explicit“ im Modulkopf?
4. Welchen Datentyp bekommen unvollständig deklarierte Variablen?
5. Welche Vor- und Nachteile bietet der Datentyp Variant?
6. Welches Risiko bringt das Programmieren ohne „Option Explicit“ mit sich?
7. Wo kann man Variablen mit dem Schlüsselwort Public deklarieren, und was
bewirkt das Schlüsselwort?
8. Wie und wo kann man in VBA eigene (benutzerdefinierte) Datentypen definieren?
9. Ergänzen Sie die nachfolgende Tabelle zu den Datentypen:
Name des Wertebereich
Datentyps
Speicher- Initialwert
platzbedarf
(in Bytes)
Funktion zur
Umwandlung von
Daten in diesen
Datentyp (sofern
vorhanden)
Beispiel für
eine zulässige
Umwandlung
in diesen
Datentyp
True / False
Ganze Zahl von
0 bis 255
Ganze Zahl von
-32768 bis
32767
Ganze Zahl von
-(2^32)/2 bis
(2^32)/2 - 1
Einfach genaue
Gleitkommazahl
von –3,4E38 bis
3,4E38
Doppelt genaue
Gleitkommazahl
von –1,8E308
bis 1,8E308
Eine Folge von
max. 2^31
ANSI-Zeichen
Abhängig vom
Subtyp
Objektverweise
10. Wann führt die Typumwandlung einer Gleitkommazahl in eine ganze Zahl in VBA
zu einem mathematisch inkorrekten Ergebnis?
Dipl.-Ing. J. Abulawi
SS 2009
Seite 3/8
HAW Hamburg / Dept. F+F / DV
Fragenkatalog zur Pruefungsvorbereitung.doc
11. Welche Datentypen erhalten die zwei Variablen durch die folgende Deklaration:
Dim i, j As Integer
12. Wann wird der Wert einer Variablen gelöscht und der Speicherplatz wieder frei
gegeben? (bitte sowohl für lokale als auch für globale Variablen beantworten)
13. Was versteht man unter den Begriffen
a. Gültigkeitsbereich einer Variablen?
b. Lebensdauer einer Variablen?
14. Wann wird der Speicherplatz reserviert für:
a. eine vollständig deklarierte Variable?
b. eine unvollständig deklarierte Variable?
c. eine undeklarierte Variable?
15. Warum sollte man möglichst nur mit vollständig deklarierten Variablen arbeiten?
16. Wie kann man in VBA ein zweidimensionales Datenfeld deklarieren, das die Werte
einer Matrix mit 8 Zeilen und 12 Spalten aufnehmen kann?
17. Wie viele Datenfeldelemente erzeugt die Anweisung: Dim Daten (9)
18. Was bewirkt die Anweisung: Redim Daten(1 to 20)
19. Was bewirkt „Option Base 1“ im Modulkopf?
20. Was ist der Unterschied zwischen „lokalen“ und „globalen“ Variablen?
21. Wann muss ein Datenfeld den Datentyp „Variant“ haben?
22. Wie kann man die Anzahl der Elemente eines eindimensionalen Datenfelds
ermitteln?
23. Wie kann man ein eindimensionales Datenfeld unbekannter Größe um ein Element
erweitern, ohne die bereits im Datenfeld gespeicherten Werte zu löschen?
24. Kann man ein mehrdimensionales Datenfeld dynamisch während der
Prozedurausführung vergrößern?
C. Operatoren und Wertzuweisungen
1. Welche arithmetischen Operatoren gibt es in VBA?
2. Wie kann man in VBA Zeichenfolgen miteinander verknüpfen?
3. Mit welchen Operatoren kann man in VBA folgende Vergleiche durchführen?
a. „kleiner oder gleich“
b. „größer oder gleich“
4. Wofür verwendet man den Operator „Is“ in VBA?
5. Wie kann man in VBA logische Bedingungen miteinander verknüpfen oder
invertieren?
a. UND
b. ODER
c. ENTWEDER ODER
d. NICHT
Dipl.-Ing. J. Abulawi
SS 2009
Seite 4/8
HAW Hamburg / Dept. F+F / DV
Fragenkatalog zur Pruefungsvorbereitung.doc
6. Wann verwendet man in VBA die Zeichenfolge „:=“?
7. Worin unterscheidet sich die Anweisung für eine Wertzuweisung in eine Objektvariable von einer Wertzuweisung in eine Variable eines einfachen Datentyps?
D. Wichtige VBA-Funktionen
1. Mit welcher Funktion kann man ein einfaches Eingabefenster erzeugen?
2. Welche Schaltflächen hat das mit dieser Funktion erzeugte Eingabefenster immer?
3. Welche Eingabeprüfungen muss man durchführen, wenn man mit diesem
Eingabefenster vom Anwender eine ganze Zahl eingeben lassen möchte?
4. Wie kann man feststellen, ob der Anwender die Eingabe in dieses Eingabefenster
abbrechen wollte?
5. Mit welcher Funktion kann man ein einfaches Mitteilungsfenster erzeugen?
6. Welche verschiedenen Schaltflächen kann das einfache Mitteilungsfenster haben?
7. Wozu dienen die folgenden Zeichenfolgen-Funktionen:
a. Instr-Funktion
b. Len-Funktion
c. Left-Funktion
d. Right-Funktion
e. Mid-Funktion
f. Replace-Funktion
g. IsNumeric-Funktion
E. Kontrollstrukturen
1. Wie lautet in VBA die Syntax für eine Anweisung, die nur bei Erfüllung einer
bestimmten Bedingung ausgeführt werden soll?
2. Welches Schlüsselwort steht am Ende einer einzeiligen bedingten Anweisung?
3. Welches Schlüsselwort steht am Ende einer mehrzeiligen bedingten Anweisung?
4. Mit welcher Kontrollstruktur kann man in VBA verschiedene Anweisungen von der
Erfüllung verschiedener Bedingungen abhängig machen? Geben Sie die
vollständige Syntax an.
5. Wie kann man in VBA verschiedene Anweisungen davon abhängig machen, dass
eine bestimmte Variable verschiedene Werte hat?
6. Wie lautet in VBA die Syntax für eine zählergesteuerte Schleife?
7. Welches mathematische Symbol in einer arithmetischen Formel zeigt Ihnen, dass
die Formel am besten mit einer zählergesteuerten Schleife zu codieren ist?
8. Muss die Indexvariable einer zählergesteuerten Schleife ganzzahlig sein?
9. Wie berechnet man die Anzahl der Durchläufe einer zählergesteuerten Schleife?
10. Welchen Wert hat die Indexvariable nach dem letzten Durchlauf der
zählergesteuerten Schleife?
Dipl.-Ing. J. Abulawi
SS 2009
Seite 5/8
HAW Hamburg / Dept. F+F / DV
Fragenkatalog zur Pruefungsvorbereitung.doc
11. Welche vier Grundformen für bedingungsgesteuerte Schleifen kann man in VBA
mit den Schlüsselwörtern Do und Loop erzeugen? Notieren Sie die allgemeine
Syntax für jede dieser Formen.
12. Was ist der entscheidende Unterschied zwischen kopf- und fußgesteuerten
Schleifen?
13. Mit welcher Schleifenform kann man in VBA eine unendliche Summe
näherungsweise berechnen, wenn die Summe gegen einen endlichen Grenzwert
konvergiert?
14. Mit welchen Anweisungen kann man in VBA die Ausführung von Schleifen
vorzeitig abbrechen:
a. bei einer zählergesteuerten Schleife?
b. bei einer bedingungsgesteuerten Schleife?
F. Makros und Funktionen & Prozeduren mit Argumenten
1. Wann bezeichnet man eine VBA-Prozedur als Makro?
2. Was ist die Besonderheit der Function-Prozedur?
3. Wie kann man Argumente an eine Prozedur übergeben?
4. Welches Schlüsselwort dient dazu,
a. nur den Wert einer Variablen zu übergeben ?
b. eine Variable „mit Schreibrechten“ zu übergeben ?
5. Wie wird eine Variable als Argument übergeben, wenn man keines dieser beiden
Schlüsselwörter verwendet?
6. Wie kann man mit VBA Funktionen erzeugen, die in den Arbeitsblättern der
zugehörigen Arbeitsmappe als benutzerdefinierte Funktion verwendbar sind?
7. Unter welcher Bedingung ist eine Prozedur vom Benutzer direkt ausführbar?
8. Wie kann ein Benutzer die Ausführung einer Excel-VBA-Prozedur veranlassen, ohne
den VB-Editor zu benutzen?
9. Mit welchen Schlüsselwort kann man aus einer Prozedur eine andere Prozedur
aufrufen?
10. Wann kann man Argumente an eine aufgerufene Prozedur übergeben, ohne die
Argumente in runden Klammern einzuklammern?
11. Kann man eine Function-Prozedur aufrufen, ohne dass ihr Rückgabewert in einer
Variablen gespeichert wird?
12. Mit welchen Anweisungen kann man in VBA die Ausführung von Prozeduren
vorzeitig abbrechen:
a. in einer Sub-Prozedur?
b. in einer Function-Prozedur?
Dipl.-Ing. J. Abulawi
SS 2009
Seite 6/8
HAW Hamburg / Dept. F+F / DV
Fragenkatalog zur Pruefungsvorbereitung.doc
G. Objektorientierte Programmierung mit VBA
1. Was versteht man unter den folgenden Grundprinzipien der Objektorientierung:
a. Klassenbildung
b. Kapselung
c. Vererbung
d. Polymorphismus
2. Welches dieser vier Prinzipien unterstützt VBA nicht?
3. Was unterscheidet ein Objekt (object) von einer Auflistung (collection)?
4. Wie kann man die Anzahl der in einer Auflistung enthaltenen Elemente ermitteln?
5. Wie kann man ein Element zu einer Auflistung hinzufügen?
6. Mit welcher Schleifenstruktur kann man Anweisungen für jedes Element einer
Auflistung ausführen?
7. Wie kann man auf ein Element aus einer Auflistung zugreifen?
8. Warum muss man normalerweise die Position eines Objekts in der Objekthierarchie
kennen, um auf das Objekt zugreifen zu können?
9. Wozu dient die With-Anweisung?
10. Wann muss man in Excel-VBA nicht den kompletten Objektpfad zu einem
bestimmten Objekt in der Objekthierarchie angeben?
11. Wofür stehen diese vordefinierten Objekte? Wann haben sie den Wert „Nothing“?
a. ActiveWindow?
b. ActivePrinter?
c. ActiveWorkbook?
d. ActiveSheet ?
e. ActiveChart?
f. ActiveCell?
12. Warum sind manche Objekteigenschaften schreibgeschützt („read-only“)? Nennen
Sie zwei Beispiele für schreibgeschützte Objekteigenschaften.
H. Fehlertolerante Programmierung mit VBA.
1. Mit welchen Anweisungen kann man verhindern, dass eine Prozedurausführung
von einem Laufzeitfehler unterbrochen wird?
2. Wie kann man die laufzeitfehlerbedingte Prozedurunterbrechung im Quellcode
wieder aktivieren, wenn sie zuvor deaktiviert wurde?
3. Was wird in der Eigenschaft err.number gespeichert?
4. Wie kann man einen Laufzeitfehler im Quellcode „zurücksetzen“ und den
Fehlercode löschen?
5. Kann man eigene Laufzeitfehler definieren und auslösen?
6. Welche Anweisungen benötigen Sie im VBA Quellcode, um die
Prozedurausführung beim Auftreten eines Laufzeitfehlers in einen speziellen
Dipl.-Ing. J. Abulawi
SS 2009
Seite 7/8
HAW Hamburg / Dept. F+F / DV
Fragenkatalog zur Pruefungsvorbereitung.doc
Prozedurabschnitt am Ende der Prozedur umzuleiten und nach der
Fehlerbehandlung die Prozedurausführung fortzusetzen?
7. Was findet man in der VB-Onlinehilfe unter dem Stichwort „auffangbare Fehler“?
I. UserForms, Module und Klassenmodule etc.
8. Wozu fügt man in ein VBA-Projekt eine „UserForm“ ein?
9. Wozu dienen Klassenmodule?
10. Wo speichert man VBA-Quellcode, der auf Ereignisse eines bestimmten
Arbeitsblatts reagieren soll? Nennen Sie zwei solche Ereignisse und die hierfür zu
verwendenden Prozedurnamen.
11. Wo speichert man VBA-Quellcode, der auf allgemeine Ereignisse der gesamten
Arbeitsmappe reagieren soll? Nennen Sie zwei solche Ereignisse und die hierfür zu
verwendenden Prozedurnamen.
12. Welchen Quellcode sollte man in den „ganz normalen“ VBA-Modulen speichern?
13. Was ist zu beachten, wenn Sie nachträglich Namen ändern möchten:
a. Namen eines Moduls mit VBA-Quellcode?
b. Namen einer UserForm?
c. Namen eines Steuerelements aus einer UserForm/einem Tabellenblatt?
d. Namen eines Klassenmoduls?
e. Namen eines Tabellenblatts mit ereignisorientierten Prozeduren?
f. Namen einer Variablen?
g. Namen einer Sub-Prozedur?
h. Namen einer Function-Prozedur?
J. Applikationsübergreifende VBA-Programmierung
1. Kann man VBA-Quellcode aus einem Excel-VBA-Projekt in ein CATVBA-Projekt
übertragen und dann in CATIA V5 ausführen? Ist die Übertragung von VBAQuellcode auch in umgekehrter Richtung möglich?
2. Kann man mit VBA-Quellcode auf das Dateisystem eines Rechners zugreifen?
3. Kann man mit VBA-Quellcode auf fremde Applikationen zugreifen (also z.B. aus
Excel heraus CATIA V5 starten und/oder schließen)?
4. Was ist zu beachten, wenn Sie eine fremde Applikation „ferngesteuert“ mit VBA
starten (wenn Sie also zum Beispiel aus CATIA heraus Excel aufrufen) ?
Dipl.-Ing. J. Abulawi
SS 2009
Seite 8/8

Documentos relacionados