Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Einführung in die Programmiersprache Visual Basic for Applications… Seminarvortrag Maik Bürschgens 13.12.2011.

Ähnliche Präsentationen


Präsentation zum Thema: "Einführung in die Programmiersprache Visual Basic for Applications… Seminarvortrag Maik Bürschgens 13.12.2011."—  Präsentation transkript:

1 Einführung in die Programmiersprache Visual Basic for Applications… Seminarvortrag Maik Bürschgens 13.12.2011

2 1.Vorwort 2.Allgemeine Informationen zu VBA 3.VBA im Zusammenspiel mit Excel 4.Zusätzliche Funktionalitäten von VBA 5.Weitergehende Informationen 6.Fazit und Schlusswort 7.Literatur 8.Anhang AGENDA 2Einstieg in Visual Basic for Applications und die Office Programmierung

3 1. Vorwort a) Ziel des Vortrags b) Warum Excel als Demonstrationsprogramm? c) Wichtige Hinweise zur weiteren Verlauf der Präsentation 2.Allgemeine Informationen zu VBA 3.VBA im Zusammenspiel mit Excel 4.Zusätzliche Funktionalitäten von VBA 5.Weitergehende Informationen 6.Fazit und Schlusswort 7.Literatur 8.Anhang AGENDA 3Einstieg in Visual Basic for Applications und die Office Programmierung3

4 Vorwort - Ziel des Vortrags  Einblick in die Fähigkeiten der Programmiersprache „Visual Basic for Applications“ „Visual Basic for Applications“ 4 Office Programmierung  Einstieg in die damit verbundene Office Programmierung  Desweiteren: Vorurteilen gegenüber VBA vorbeugen Motivation Motivation mitgeben, VBA zu erlernen und einzusetzen 4

5 Ausgerechnet Excel als Demonstrationsprogramm?  VBA Programme können nicht direkt ausgeführt werden Wirtsanwendung abhängig von einer Wirtsanwendung Zugriff auf die Skripte über eine Programmierschnittstelle (IDE) Excel 2007  im weiteren Verlauf: Excel 2007 weitreichende Anwendungsgebiete bekannt und häufig eingesetzt tiefgreifenden Gebrauch einer Office Anwendung kennenlernen Ausführungen lassen sich allgemein auf die Office Programmierung übertragen 5 5

6 1. Vorwort 2. Allgemeine Informationen zu VBA a) Ursprung und Einsatzgebiete b) Spracheigenschaften 3.VBA im Zusammenspiel mit Excel 4.Zusätzliche Funktionalitäten von VBA 5. Weitergehende Informationen 6. Fazit und Schlusswort 7. Literatur 8.Anhang AGENDA Einstieg in Visual Basic for Applications und die Office Programmierung6

7 Microsoft  Von Microsoft entwickelt  Seit Mitte der 1990er Jahre verwendet  aus dem BASIC Dialekt Visual Basic entstanden Allgemeine Infos - Ursprung und Einsatzgebiete 7 Steuerung von Abläufen innerhalb der Office Programme  zur Steuerung von Abläufen innerhalb der Office Programme konzipiert Excel, Excel, Outlook, Visio,…  „Microsoft Visual Basic for Applications licensing program“ in Produkten der Corel Corporation z.B. CorelDraw zu finden MindManager, AutoCAD,… 7

8 modulare Programmierung  für die modulare Programmierung konzipiert zu lösendes Problem wird in einzelne Module aufgeteilt, die jeweils eine genaue Schnittstellenspezifikation aufweisen (Def.: Handbuch Programmiersprachen) Skripte (Makros) in kleinere Bestandteile zerlegt, die übersichtlich und einfach zu warten sind 8 Spracheigenschaften Skriptsprache  Leistungsfähige Skriptsprache  Syntax stark an die von Visual Basic angelehnt 8

9 9 Spracheigenschaften Quellcode in kleine Einheiten unterteilt, die sich gegenseitig aufrufen können Prozeduren undFunktionen realisiert durch Prozeduren und Funktionen objektorientierte Aspekte Erhielt mit der Zeit objektorientierte Aspekte Klassen und Objekte können syntaktisch dargestellt und implementiert werden Datenkapselung Schnittstellenvererbung Aber: keine Implementierungsvererbung(!) Keine direkten Speicherzugriffe wie z.B. in C/C++ möglich (Zeiger)  Ursprünglich als prozedurale Programmiersprache entwickelt… 9

10 1.Vorwort 2.Allgemeine Informationen zu VBA 3.VBA im Zusammenspiel mit Excel a)Vorteile von VBA b)Vorstellung eines Anwendungsfalls – „Joggoh!“ c)Grundlegende Excel Objekte und Aktionen d)Ereignis(-prozeduren) e)Dialoge und Formulare zur Interaktion mit dem Benutzer 4.Zusätzliche Funktionalitäten von VBA 5.Weitergehende Informationen 6.Fazit und Schlusswort 7.Literatur 8.Anhang AGENDA Einstieg in Visual Basic for Applications und die Office Programmierung10

11 VBA im Zusammenspiel mit Excel – Warum VBA?  Theoretisch leistbar, viele Aufgaben manuell mit Excel Funktionen zu lösen…  ABER! 11 einfach an die eigenen Bedürfnisse anpassen Excel Anwendung relativ einfach an die eigenen Bedürfnisse anpassen Durch zusätzliche Funktionalitäten erweitern zur Vermeidung von Fehlbedienungen einschränken Die von Excel benötigten Fähigkeiten optimal einsetzen festlegen… Benutzerdefinierte Abläufe und Lösungen festlegen… automatisieren! …und im Hintergrund automatisieren! Deutliche Zeiteinsparung und saubere Lösungen! 11

12 Vorstellung eines Anwendungsfalls 12 Verwaltung sportlicher Aktivitäten  Ermöglicht die Verwaltung sportlicher Aktivitäten im Ausdauerbereich Jogging, Walking, Wandern, Fahrradfahren, Cross Trainer,… Upgrade für Krafttraining ist in Arbeit  „Joggoh!“  „Joggoh!“ – die etwas sportlichere Datenbank 12

13 Ein Anwendungsfall – (Vor-)Formatierung einer Kategorie 13

14 Ein Anwendungsfall– (Vor-)Formatierung einer Kategorie 14  Blau: Fehlerbehandlung GoTo wird dafür in VBA noch frequentiert verwendet  Schwarz:  Schwarz: Funktionskörper Hier sogar eine Ereignisprozedur Wird aufgerufen, sobald eine neue Kategorie in Joggoh erzeugt wird Kategorien entsprechen Tabellen in Excel  Braun: Beispiele für einfache VBA Funktionen aus dem Sprachkern  Rot: Zellformatierung Beispiel für die Interaktion mit Excel Objekten 14

15 Zusammenspiel mit ihren Wirtsanwendungen  VBA Skripte nur im Zusammenspiel mit ihren Wirtsanwendungen zweckmäßig Sprachkern reicht für ein sinnvolles Makro nicht aus! spezifische Objekte und Methoden Wirtsprogramme bieten VBA spezifische Objekte und Methoden an, auf die ein Entwickler zugreifen kann  Bsp: Worksheets -> Auflistung aller in der Applikation verwendeten Tabellen 15 Grundlegende Excel Objekte und Aktionen

16  Bespiel - Filterfunktionen: AutoFilter Objekt ActiveSheet.UsedRange.AutoFilter [Spalte],[Bedingung] Mehrfachbedingungen für eine oder mehrere Spalten möglich Bei Textfiltern auch Platzhalter (*) möglich 16

17 Ereignis(-prozeduren)  „integrierte“ Ereignisse: Bereits ohne Funktionalität angelegte Ereignisprozeduren „Workbook_Open()“ Bsp: Ereignis „Workbook_Open()“ wird aufgerufen, sobald ein Nutzer eine Arbeitsmappe öffnet können durch Implementierung mit zusätzlicher Funktionalität ausgestattet werden Zusammenhang mit Formularen und Tabellen interessant im Zusammenhang mit Formularen und Tabellen 17 automatisch ausgeführte Prozeduren  Unter bestimmten Voraussetzungen automatisch ausgeführte Prozeduren  Von grundlegender Bedeutung in fortgeschrittener VBA Programmierung

18 Dialoge und Formulare  dienen zur Interaktion mit dem Benutzer komfortablen und deutlichen Benutzerführung  sollen zu einer komfortablen und deutlichen Benutzerführung verhelfen  Dialogformen: Integrierte Dialogfelder Tabellenblätter als Formulare Benutzerdefinierte Dialoge („UserForms“) 18 15

19 Dialoge und Formulare - integrierte Dialogfelder  Integrierte Dialogfelder: spezielle Aufgaben bereits für spezielle Aufgaben präpariert und konzipiert Message Box Input Box Speichern unter… Dialog [als Repräsentant für weitere Dialogformen] 19 16

20 20 Dialoge und Formulare - Das Tabellenblatt als Formular  Positionierung von Steuer- elementen elementen in Tabellen- blättern ermöglicht die Umgestaltung zu Formularen 17

21 Dialoge und Formulare – User Forms  Im VBA Editor mühelos zu gestalten Einfügen  UserForm Mit Drag&Drop angebotene Steuerelemente platzieren Das Eigenschaftenfenster zur Manipulation von Attributen nutzen Rechtsklick  Code anzeigen Mit Rechtsklick  Code anzeigen zum Codefenster gelangen Wird eingeblendet mit der Anweisung [UserFormName].Show() [UserFormName].Show() 21  Integrierte Dialoge reichen oftmals nicht aus UserForms  „UserForms“ (benutzerdefinierte Dialoge) können auf die Bedürfnisse der Anwendung abgestimmt werden – VBA erweist sich hier als vielseitig  Integrierte Ereignisse dienen als Grundlage von Ablaufsteuerungen 18

22 User Forms AnweisungBeschreibung UserForm_Initialize() Ereignis, Bietet die Möglichkeit beim Erzeugen des Dialoges den Komponenten Standardwerte zuzuordnen. [Komponente]_Clicked()Ereignis, Einfacher Mausklick [Komponente]_DblClick()Ereignis, Doppelklick [Liste].AddItem()Fügt ein weiteres Auswahlelement der Liste / ComboBox hinzu [Liste].Clear()Löscht die Auswahlliste / ComboBox [Liste].RemoveItem()Entfernt ein Auswahlelement aus der Liste / ComboBox [Liste].ValueAktueller Wert einer Liste / ComboBox [Liste].ListCountAnzahl der Einträge einer Liste / ComboBox  Ein Auszug wichtiger Ereignisse, Attribute und Methoden 22 19

23 User Forms  Der benutzerdefinierte Dialog zur Editierung bestehender Daten in der Joggoh! – Datenbank [Auszüge vom Programmcode] 23 20

24 User Forms  Der benutzerdefinierte Dialog zur Editierung bestehender Daten in der Joggoh! – Datenbank [Gestaltung nach dem Aufruf] 24 21

25 1.Vorwort 2.Allgemeine Informationen zu VBA 3.VBA im Zusammenspiel mit Excel 4.Zusätzliche Funktionalitäten von VBA a) I/O Operationen b) Interaktion mit Datenbanken c) Präsentation der Daten: Diagramme 5.Weitergehende Informationen 6.Fazit und Schlusswort 7.Literatur 8.Anhang AGENDA Einstieg in Visual Basic for Applications und die Office Programmierung22

26 Weitere Funktionalitäten von VBA  Bisher vorgestellte Möglichkeiten reichen für fortgeschrittene Office Programmierung aus  Probleme bei tiefgreifenden Anwendungen, wenn man beispielsweise… Mehrere Datensätze aus einer Datenbank gleichzeitig auslesen Diese automatisch in eine Excel Tabelle hinterlegen Daten visualisieren und grafisch präsentieren möchte! 26  Lösung: Kommunikation mit externen Programmen und Befehlssatz zur Kommunikation mit externen Programmen und Datenquellen Datenquellen dynamisch Grafiken zu erzeugen und zu verwalten Befehlssatz, um dynamisch Grafiken zu erzeugen und zu verwalten 23

27 Weitere Funktionalitäten von VBA - I/O Operationen  Recht einfach gestaltet  Wenige Grundoperationen,  Wenige Grundoperationen, die schon ausreichen: Datensätze aus Textdateien auslesen Datensätze in Textdateien exportieren Allgemeine Dateioperationen Suchen Kopieren Löschen Dateigröße … 27 24

28 I/O Operationen  Beispiel: Export eines Datensatzes aus Joggoh! in eine CSV Datei 28

29 I/O Operationen  Beispiel: Import eines Datensatzes aus einer CSV-Datei nach Joggoh! 29 26

30  Open [filename] For Input As [Nr] I/O Operationen 30 Öffnet angegebene Datei zum Einlesen Die angegebene Nummer dient zur Identifizierung  Open [filename] For Output As [Nr]  Print #[Nr], [String]  Line Input #[Nr], [String]  Close [Nr]  EOF(Nr) Öffnet angegebene Datei zum Herausschreiben Daten anhängen: Öffnungsmodus Append Schreibt die Zeichenkette in die anzugebende Datei Liest die Zeichenkette aus der nächsten Zeile in den anzugebenden String ein Schließt die Datei mit der angegebenen Nummer Repräsentiert das Dateiende

31 I/O Operationen 31 MethodeBeschreibung der Funktionalität Dir ( [Pfad] & [Suchmuster] ) Dient zur Suche von Dateien. Es können auch Platzhalter (*) verwendet werden. Als Rückgabewert erhält man den ermittelten Pfad oder einen Leerstring. FileDateTime ( [Pfad] )Liefert Datum und Uhrzeit der letzten Änderung der Datei FileLen ( [Pfad] )Liefert die Dateigröße GetAttr ( [Pfad] And Konstante) Dient zur Ermittlung von Datei- und Verzeichnisattributen. [vbHidden, vbSystem, vbDirectory und vbArchive] FileCopy( [PfadAlt], [PfadNeu])Kopiert angegebene Datei an den übergebenen Zielort Name ( [Alt], [Neu])Benennt eine Datei um Kill ( [Pfad])Löscht eine Datei. Die Aktion kann nicht rückgängig gemacht werden.  Weitere Dateioperationen 27

32 Weitere Funktionalitäten von VBA - SQL Operationen persistente Datenhaltung  Datenbanken gewährleisten eine persistente Datenhaltung  Excel als Tabellenkalkulationsprogramm… Dient bei im Alltag häufig als „Datenbankersatz“ / Übersichtsprogramm Reicht bei größeren Datenmengen dafür nicht mehr aus Muss deswegen häufiger mit Datenbanken kommunizieren  VBA… Befehlssatz für das Absetzen von SQL Befehlen Weist einen Befehlssatz für das Absetzen von SQL Befehlen auf Besitzt Methoden und Objekte zur Verarbeitung der Resultate Kann die Interaktion mit Datenbanken [im Hintergrund] automatisieren 32 28

33 SQL Operationen 33  Beispiel: Import von Datensätzen aus einer Access-Datenbank [Prozedurauszug] 29

34 SQL Operationen 34  ADODB-Connection Objekt wichtiges Objekt, dient zur Interaktion mit Datenbanken ConnectionString: ConnectionString: Angabe von Provider und Quelle Open: Stellt eine Verbindung zur Datenbank her Close: Schließt die Verbindung wieder execute[sqlCommand]: execute[sqlCommand]: Führt den übergebenen SQL-Befehl aus  ADODB-RecordSet speichert Ergebnisse der SQL Abfrage ab ! : ! : Zugriff auf einzelne Attribute MoveNext: MoveNext: „Zeiger“ wird auf den nächsten Eintrag verschoben EOF: EOF: repräsentiert das Ende eines RecordSets es liegen keine weiteren Abfrageergebnisse vor vgl: EOF von I/O-Operationen

35 Weitere Funktionalitäten von VBA - Präsentation der Daten  VBA bietet Möglichkeiten… erstellen Diagramme und eingebettete Diagramme zu erstellen manipulieren Ihre Eigenschaften zu manipulieren Beschriftungen, Typ, Form und Farbe … verwalten Sie zu verwalten Kopieren, Einfügen oder Export als PNG-Datei  VBA unterscheidet… Diagrammblätter Diagrammblätter in einem separaten Blatt generiert und verwaltet Eingebettete Diagramme in ein bereits bestehendes Tabellenblatt integriert 35 30

36 Diagramme 36 Präsentation von Distanz (m) und zugehöriger Zeit (s) einer Kategorie aus Joggoh! in einem Diagrammblatt [Prozedurauszug!]

37 Diagramme 37  Add:  Add: Erstellt ein neues Diagrammblatt Before/After: Before/After: Platzierung festlegen Chart  Erzeugtes Diagramm: Instanz der Klasse Chart  Grundlegende Eigenschaften und Methoden: ChartType: ChartType: Diagrammtyp xlLine: xlLine: Liniendiagramm … SetSourceData: SetSourceData: Auswahl der darzustellenden Daten Name Name: eindeutigen Namen zur verbesserten Identifikation zuweisen

38 Diagramme 38  Formatierung / Gestaltung: ChartTitle.Text: ChartTitle.Text: Überschrift festlegen Legend: Legend: Formatierung der Legende Entnimmt die Zuordnung von Farben und Namen automatisch! Axes: Axes: Formatierung der Achsen xlCategory: xlCategory: x-Achse xlValue: xlValue: y-Achse SeriesCollection(Nr) SeriesCollection(Nr): Repräsentiert den Graph selbst Nr identifiziert den zu formatierenden Graphen Points(Nr) Points(Nr) steuert gezielt einen Punkt des Graphen an

39 Diagramme 39  Formatierung / Gestaltung: ChartArea: ChartArea: Diagrammfläche Interior: Interior: verweist auf das Innere des Diagramms PlotArea PlotArea: Zeichnungsfläche HasTitle: HasTitle: Bestimmt, ob das Diagramm eine Überschrift besitzt HasLegend: HasLegend: Bestimmt, ob das Diagramm eine Legende besitzt  Eingebettetes Diagramm: ChartObject Wird durch eine Instanz der Klasse ChartObject verwaltet besitzt die gleichen Eigenschaften wie ein Diagrammblatt height, width Zusätzlich: Manipulation von Größe (height, width) sowie Abstand Left, Top zum Rand (Left, Top):

40 Diagramme  Delete  Delete: Löscht das ausgewählte Diagramm  Copy (After/Before):  Copy (After/Before): Kopie eines Diagrammblatts keine Angabe: Kopie in eine frisch angelegten Arbeitsmappe Copy  Copy: Kopie eines eingebetteten Diagramms in die Zwischenablage Paste Paste: Einfügen des eingebetteten Diagramms Export (Destination):  Export (Destination): Export des ausgewählten Diagramms PNG-Datei 40 32

41 1.Vorwort 2.Allgemeine Informationen zu VBA 3.VBA im Zusammenspiel mit Excel 4.Zusätzliche Funktionalitäten von VBA 5.Weitergehende Informationen a) Der Makro Rekorder 6.Fazit und Schlusswort 7.Literatur 8.Anhang AGENDA Einstieg in Visual Basic for Applications und die Office Programmierung33

42 Der Makro Rekorder  Zeichnet diverse Aktionenauf  Zeichnet diverse Aktionen, z.B. die Auswahl einer speziellen Zelle, auf  Übersetzt die Aktionen automatisch in VBA Code  Speichert den Code in einem Modul ab 42  Bietet Anfängern die Möglichkeit in die Office Programmierung einzusteigen  Erspart dem Professionellen Entwickler viel Zeit bei der Implementierung „trivialer“ Aufgaben  Mehr Zeit und Konzentration für die schweren bzw. zeitintensiven Aufgaben Entwicklertools  Makro aufzeichnen  Unter Entwicklertools  Makro aufzeichnen zu finden 34

43 Fazit und Schlusswort sehr weit gefächert  VBA Befehlssatz ist sehr weit gefächert 43 Sprachkern mit weitreichenden Funktionen I/O Operationen ( Textdateien, Datenbanken,…) Präsentation der Daten Manipulation von Zellen / Zellbereichen … automatisieren Im Hintergrund automatisieren Vereinfachen  Es lassen sich viele Abläufe… 35

44 Fazit und Schlusswort Tutorials und Bücher  Viele Tutorials und Bücher zu diesem Thema  Foren runden das Angebot ab 44 Übung macht den Meister!  Erfahrungen in einer Programmiersprache beruhen weniger auf Theorie als auf Praxis 36

45 Fragen? Vielen Dank für ihre Aufmerksamkeit! 45 37

46 Literatur  Einstieg in VBA mit Excel, Thomas Theis Galileo Computing, 2te und aktualisierte Auflage 2010  ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/broschueren/b012.pdf  Handbuch Programmiersprachen (Softwareentwicklung zum Lernen und Nachschlagen) Peter A. Henning und Holger Vogelsang, Hanser Verlag, 2007  http://www.online-excel.de/excel/singsel_vba.php?f=50  http://www.office-loesung.de/  http://msdn.microsoft.com/de-de/isv/bb190538.aspx 46 38

47 Literatur  http://de.wikipedia.org/wiki/Visual_Basic_for_Applications  http://de.wikipedia.org/wiki/Tabellenkalkulation  http://de.wikipedia.org/wiki/Microsoft_Excel  http://de.wikibooks.org/wiki/VBA_in_Excel_-_Grundlagen  http://www.vba-beispiele.de/office.php?act=excel&cat=vbaereignisse  http://www.activevb.de/tutorials/tut_vbatutorial/tut_vbatutorial.html 47 39

48 1.Vorwort 2.Allgemeine Informationen zu VBA 3.VBA im Zusammenspiel mit Excel 4.Zusätzliche Funktionalitäten von VBA 5.Weitergehende Informationen 6.Fazit und Schlusswort 7.Literatur 8.Anhang a.Sprachkonzept von VBA (Sprachkern) b.Excel als Tabellenkalkulationsprogramm c.Der VBA-Editor als Entwicklungsumgebung AGENDA Einstieg in Visual Basic for Applications und die Office Programmierung40

49 Syntaktischer Aufbau des Quellcodes  Ungewohnte Syntax … 49 Keine Semikolons, Keine Semikolons, welche das Ende einer Anweisung markieren Prinzipiell nur eine Anweisung pro Zeile erlaubt Mehrzeilige Anweisungen durch das Einfügen von Leerzeichen und Unterstrich am Ende der Zeile möglich [„ _“] Case insensitive Keine Escape-Sequenzen zur Darstellung von Steuerzeichen integrierte Konstanten integrierte Konstanten

50 Datentypen DatentypSpeicherbedarfWertebereich und Bedeutung Boolean2 ByteWahrheitswert, kann den Wert „True“ oder „False“ annehmen Byte1 ByteGanze Zahl von 0 bis 255 Integer2 ByteGanze Zahl von -32.768 bis 32.767 Long4 ByteGanze Zahl von -2,1 * 10^9 bis 2,1 * 10^9 Single4 Byte Gleitkommazahl mit einfacher Genauigkeit von ca. -3,4 * 10^38 bis ca. -1,4* 10^(-45) für negative und von ca. 1,4*10^(-45) bis 3,4 * 10^38 für positive Werte Double8 Byte Gleitkommazahl mit doppelter Genauigkeit von ca. - 1,8*10^308 bis -4,9*10^(-324) für negative und von ca. 4,9*10^(-324) bis 1,8*10^308 für positive Werte Date8 ByteDatumsangabe zwischen 1.Januar 100 und 31.Dezember 9999 Object4 ByteVerweis auf ein Objekt String10 Byte (+)Zeichenkette mit variabler Länge Variant16 Byte (+)Datentyp nicht explizit festgelegt (universell) 50

51 Operatoren und Variablen  Operatoren: Arithmetische Operatoren (+,-,…) Logische Operatoren(Not, And, Or,…) Vergleichsoperatoren (,…) Verkettungsoperatoren (&, +)  Variablen: Deklaration und Initialisierung erfolgt zweistufig! Explizite/Implizite Deklaration möglich Auf Prozedurebene oder Modulebene möglich „Dim [Name] As [Datentyp]“ Schüsselphrase „Dim [Name] As [Datentyp]“ 51

52 Operatoren und Variablen  Konstanten: Deklaration und Wertzuweisung in einem Schritt „Const“ Schlüsselwort „Const“ publicprivate öffentlich (public) oder modulbezogen (private)  Integrierte Konstanten: Systemdefinierte Konstanten mit spezieller Funktionalität vbCrLf Beispiel: vbCrLf  Zeilenumbruch xlLine Beispiel: xlLine  Diagrammtyp „Liniendiagramm“ 52

53 Unterprogrammtechnik  Prozeduren: Einheiten kleinste selbstständige Einheiten eines Programms beinhalten eine Gruppe von Anweisungen kein Rückgabewert „Sub…End Sub“ Schlüsselphrase „Sub…End Sub“  Funktionen: Können Werte zurückliefern „Function…End Function“ Schlüsselphrase „Function…End Function“ 53

54 Unterprogrammtechnik  Parameterübergabe: Call-By-Value, Als Kopie (Call-By-Value, Schlüsselwort „ByVal“) Call-By-Reference, Als Referenz (Call-By-Reference, „ByRef“, Standardeinstellung) „Optional“ Optionale Parameter möglich („Optional“)  Prozeduren sind öffentlich… „Public“  …oder modulbezogen „Private“ 54

55 Klassen (Klassen-)Modulen  Klassen in eigenen (Klassen-)Modulen erstellt Enthalten nur Methoden und Attribute der Klasse Aus z.B. Java oder C++ bekannte syntaktische Einleitungen wie „Class A {…}“ fallen weg Deklaration mehrerer Klassen in einem Modul nicht möglich „Property Let (bzw. Get)“  Setter und Getter mit der Schlüsselphrase „Property Let (bzw. Get)“ gekennzeichnet  Deklaration und Initialisierung von Objekten ebenfalls zweistufig „Set [Name] = New [Klasse]“ Schlüsselphrase „Set [Name] = New [Klasse]“ 55

56 Diverses (mehrdimensionale / dynamische) Arrays „type“ Benutzerdefinierte Datentypen (vgl. Structs aus C/C++, „type“) Schleifenstrukturen Kontrollstrukturen „On Error“ GoTo Methoden zur Fehlerbehandlung („On Error“ Anweisung, GoTo) Konvertierung und Manipulation von Daten, u.a. Vartype, CInt, CString Datentypermittlung und Casts (Vartype, CInt, CString,…) InStr, LCase, Split Zeichenkettenmanipulation (InStr, LCase, Split,…) […] 56  Desweiteren unterstützt VBA…

57 Der VBA Editor als Entwicklungsumgebung 57

58 Der VBA Editor als Entwicklungsumgebung  Eigenständiges Programm mit Fenstersystem und Symbolleisten  Alt+F11 Entwicklertools  Visual Basic  Alt+F11 oder über den Reiter Entwicklertools  Visual Basic zu erreichen  Besteht aus mehreren Komponenten:  Projektexplorer: Überschau der aktuell verwendeten Module in Form einer Baumstruktur Module als Container für bereits erstellten Programmcode Office Objekte Formulare Klassenmodule allgemeine Module 58

59 Der VBA Editor als Entwicklungsumgebung  Eigenschaftenfenster: Übersicht für die Eigenschaften (Attribute) des aktuell ausgewählten Moduls erleichtert ihre Modifikation wird im Bereich der Formulare frequentiert verwendet  Direktfenster: Zu Testzwecken oder Debugging genutzt Akzeptiert direkte Eingaben (Funktionsaufrufe) Debug.Print[text]: Debug.Print[text]: angegebener Text erscheint im Direktfenster  Objektkatalog / IntelliSense: Auflistung aller durch VBA nutzbaren / verfügbaren Objekte Nachschlagewerk Standardmäßig ausgeblendet VBA Editor schlägt Eigenschaften und Methoden des aktuell selektierten Objekts automatisch vor: IntelliSense 59

60 Excel als Tabellenkalkulationsprogramm Tabellenkalkulation  Von Microsoft entwickeltes Programm zur Tabellenkalkulation Eine Software für die interaktive Eingabe und Verarbeitung von numerischen und alphanumerischen Daten in Tabellenform (Def.:Wikipedia) 60  Teil des von Microsoft herausgegebenen Office Paketes  Aktuelle Version: Excel 2010 (bzw. 2011 für Mac) sehr bekannt und weit verbreitet  sehr bekannt und weit verbreitet

61 Excel als Tabellenkalkulationsprogramm  Fähigkeiten und Bestandteile Datenkalkulation, -analyse und deren Bietet viele Möglichkeiten zur Datenkalkulation, -analyse und deren Präsentation Präsentation Sortier-/Filtervorgänge unterstützen die Auswertung Diagramme und Grafiken Formeln und Funktionen Gezielter Einsatz von Formeln und Funktionen Import von Daten aus externen Datenquellen (CSV, XML, Datenbanken,…) VBA Schnittstelle zur Ausführung und Bearbeitung von VBA Makros 61

62 Excel als Tabellenkalkulationsprogramm  Der Arbeitsbereich von Excel Arbeitsmappen, welche Tabellenblätter beinhalten Tabellenblätter bestehen aus Zellen, die Daten speichern können Eindeutige Identifikation von Zellen: Angabe von Spalte (Buchstabe) und Zeile (Nummer) Zellbezugssystem Zellbezugssystem Oberer Bereich: Menüleiste mit zahlreichen Funktionen 62

63 Excel als Tabellenkalkulationsprogramm 63


Herunterladen ppt "Einführung in die Programmiersprache Visual Basic for Applications… Seminarvortrag Maik Bürschgens 13.12.2011."

Ähnliche Präsentationen


Google-Anzeigen