Programmieren in Anwendungen



Ähnliche Dokumente
Programmieren in Anwendungen

Programmieren in Anwendungen

Modul 122 VBA Scribt.docx

Programmieren in Anwendungen

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen!

Sin-Funktion vgl. Cos-Funktion

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

VBA-Programmierung: Zusammenfassung

Michaela Weiss 30. März Lerneinheit 3: VBA Teil 1: Eingabe/Ausgabe

Excel Funktionen durch eigene Funktionen erweitern.

Einführung in VisualBasic for Applications. Stefan Mahlitz

Interoperabilität mit Office-Anwendungen (1)

Office Objektmodell (1)

E-PRIME TUTORIUM Die Programmiersprache BASIC

VisualBasic - Variablen

P r o g r a m m a b l a u f s t e u e r u n g

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Wofür braucht man eine Tabellenkalkulation? Das Programm Microsoft Excel gehört in Softwarekategorie der Tabellenkalkulationen.

Informationsverarbeitung im Bauwesen

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

Datentypen. Agenda für heute, 4. März, Pascal ist eine streng typisierte Programmiersprache

Access [basics] Aktionsabfragen per VBA ausführen. Beispieldatenbank. Aktionsabfragen. Die Execute-Methode. Datenzugriff per VBA

3. GLIEDERUNG. Aufgabe:

12. ArcView-Anwendertreffen Workshop Programmierung in ArcGIS. Daniel Fuchs. Wo kann eigene Programmierung in ArcGIS verwendet werden?

Erwin Grüner

Text-Zahlen-Formatieren

Java Kurs für Anfänger Einheit 5 Methoden

Einführung in die Programmierung

Zur drittletzten Zeile scrollen

2. Programmierung in C

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

ARAkoll 2013 Dokumentation. Datum:

Gesicherte Prozeduren

Programmierung von MS-Office mit Visual Basic

Diana Lange. Generative Gestaltung Operatoren

Access und die andern (Office) Programme. Armin Hess

Zm Eingewöhnen Aufgabe 1 Schreiben Sie ein Programm, daß Ihren Namen in einem Fenster ausgibt.

Computeranwendung und Programmierung (CuP)

PHP 5.4 ISBN Stephan Heller, Andreas Dittfurth 1. Ausgabe, September Grundlagen zur Erstellung dynamischer Webseiten GPHP54

Vergleich: Positionen der Word 2003-Befehle in Word

Vorkurs C++ Programmierung

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

Flexibler Einsatz von VBA-Code und Access-Elementen durch Kapselung und modularer Programmierung (Josef Pötzl,

Erweiterung der CRM-Datenbank für den Umgang mit Excel-Mappen. Automatisches Ausfüllen von MS-Excel-Vorlagen mit Daten aus organice

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Prozedurale Datenbank- Anwendungsprogrammierung

Seite 1. Datum einfügen

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala

Kontrollstrukturen - Universität Köln

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Entwurf von Algorithmen - Kontrollstrukturen

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Variablen & erweiterte Aktionen nutzen

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

Alternative Schutzmechanismen für Excel

Objektorientierte Programmierung

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

Einkaufslisten verwalten. Tipps & Tricks

Visual Basic Express Debugging

Java Einführung Operatoren Kapitel 2 und 3

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender FHNW, Services, ICT

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

6.3 Serienbriefe über Microsoft Excel und Word

Programmierkurs Java

Excel Pivot-Tabellen 2010 effektiv

Hinweis. PKAntonitsch, 20. April 2002 (für kritische Rückmeldungen:

Seriendruck mit der Codex-Software

BAUINFORMATIK. SS 2013 Vorlesung 1 Johannes Lange

Mediator 9 - Lernprogramm

Frankieren in Microsoft Word mit dem E Porto Add in der Deutschen Post

ECDL Europäischer Computer Führerschein. Jan Götzelmann. 1. Ausgabe, Juni 2014 ISBN

Objektorientierte Programmierung für Anfänger am Beispiel PHP

VERWALTUNG. Postfächer, Autoresponder, Weiterleitungen, Aliases. Bachstraße 47, 3580 Mödring

VBA- Programmierung. Integrierte Lösungen mit Office Ricardo Hernández García. 1. Ausgabe, November 2013

Einführung in die C++ Programmierung für Ingenieure

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

Verteilte Datenbanken

Erste Schritte. Lavid-F.I.S. Faktura. Erste Schritte

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. Hochschule Darmstadt -Fachbereich Informatik-

Programm GArtenlisten. Computerhinweise

5. Tutorium zu Programmieren

Professionelle Seminare im Bereich MS-Office

Neben dem Symbol Entwurfsmodus ist das Symbol Befehlschaltfläche zu sehen.

Excel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA Einfache Dialoge in VBA HARALD NAHRSTEDT. Erstellt am Bearbeitet am

Zwischenablage (Bilder, Texte,...)

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

How to do? Projekte - Zeiterfassung

Bedienungsanleitung Anlassteilnehmer (Vereinslisten)

Programmieren mit Excel VBA Teil 2 Formulare als Benutzerschnittstellen

Bedienungsanleitung Einsatzplanung. Bedienungsanleitung Einsatzplanung. Inhalt. Bedienung einer Plan-Tabelle

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

Übersicht Programmablaufsteuerung

Step by Step Softwareverteilung unter Novell. von Christian Bartl

Transkript:

Programmieren in Anwendungen Annette Bieniusa Technische Universität Kaiserslautern bieniusa@cs.uni-kl.de 08.05.2014 1 / 48

Überblick Wiederholung: Visual Basic for Applications (VBA) Datentypen Ausdrücke Kontrollstrukturen Prozeduren und Funktionen Im Dialog mit dem Benutzer Objekte in VBA VBA Objekte in Word und Excel 2 / 48

Themen Visual Basic for Applications(VBA) Wiederholung grundlegender Konzepte der imperativen Programmierung anhand der neuen Sprache VB (Visual Basic) Einführung in die ereignisorientierte Programmierung Anwendungsbeispiele mit VBA in Word und Excel Statistik und Grafiken mit R Einführung in die Statistiksoftware R Wiederholung grundlegender Konzepte der Statistik und Datenanalyse Datenvisualisierung und Datenanalyse in R an ausgewählten Fallstudien 3 / 48

Visual Basic for Applications (VBA) Skriptsprache zur Automatisierung und Anpassung von Microsoft Office Programmen Modul-orientiert und prozedural Einsatzfelder Automatisiertes Erzeugen von Dokumenten wie Serienbriefen Benutzerdefinierte Dialogfenster oder Fehlermeldungen Literaturhinweis VBA-Programmierung - Integrierte Lösungen mit Office 2010, 1. Auflage, Okt 2010 (erhältlich im Rechenzentrum bzw. HERDT-Verlag) 4 / 48

Beispiel: Berechnung von Zeiträumen Dauer des Semesters Sub AnzahlTage () Dim Heute As Date, Semesterende As Date, Ausgabe As String Heute = Date Semesterende = DateValue (" 25.07.2014 ") Ausgabe = " Bis zum Semesterende sind es noch " & DateDiff ("d", Heute, Semesterende ) & " Tage." MsgBox Ausgabe End Sub 5 / 48

Datentypen Der Datentyp definiert die Art sowie den Wertebereich einer Variablen oder Konstanten. Abhängig vom Datentyp wird Speicherplatz für Variablen bzw. Konstanten reserviert. Bei impliziten Deklarationen wird in VBA der Datentyp Variant verwendet. 6 / 48

Übersicht: Datentypen Integer % Ganze Zahlen [-32.768,32.767] Long & Ganze Zahlen [-2.147.483.648, 2.147.483.647] Single! Fliesskommazahlen 7 Ziffern Genauigkeit Double # Fliesskommazahlen 15 Ziffern Genauigkeit Currency @ Fliesskommazahlen 15 Vor- und 4 Nachkommastellen String $ Zeichenketten bis zu 65.535 Zeichen Date Datum und Uhrzeit Boolean Logische Werte True und False Variant Belieber Wert / Objekt 7 / 48

Datentypen in Variablendeklarationen Dim VarName1 As Datentyp1, VarName2 As Datentyp 2,... Dim VarName1Typkennzeichen, VarName2Typkennzeichen,... Beispiele: Dim Alter As Integer, Name as String Dim Kundennummer &, Rechnungsbetrag@ Numerische Variablen werden mit 0 initialisiert. Variant-Variablen werden mit Empty initialisiert. String-Variablen werden mit (leerer String) initialisiert. 8 / 48

Umgang mit Datentypen Sub ErmittleMonat1 () Dim strwert As String End strwert = " 24.12.2012 " MsgBox " Monat : " & Mid ( strwert, 4, 2) Sub 9 / 48

Umgang mit Datentypen Sub ErmittleMonat1 () Dim strwert As String End strwert = " 24.12.2012 " MsgBox " Monat : " & Mid ( strwert, 4, 2) Sub Funktioniert nicht bei "strwert = "1.1.2012"! 10 / 48

Umgang mit Datentypen Sub ErmittleMonat1 () Dim strwert As String End strwert = " 24.12.2012 " MsgBox " Monat : " & Mid ( strwert, 4, 2) Sub Funktioniert nicht bei "strwert = "1.1.2012"! Sub ErmittleMonat2 () Dim datwert As Date End datwert = #12/24/2012# MsgBox " Monat : " & Month ( datwert ) Sub 11 / 48

Ausdrücke 12 / 48

Wiederholung: Variablen Mit Hilfe von Variablen kann man (temporär) Werte speichern und diese in den Prozeduren verwenden. Der Wert einer Variablen kann durch eine Zuweisung verändert werden. Variablen werden über Bezeichner (Variablennamen) referenziert. Die Deklaration einer Variablen ist das Vereinbaren einer Variablen vor ihrem ersten Gebrauch. Dim Variablenname As Datentyp Beispiele: Dim Anzahl As Integer Dim AusgabeText As String Dim Alter As Integer, Temperatur As Integer Dim Gestern As Date 13 / 48

Konstanten Konstanten werden ebenfalls über Bezeichner referenziert, sind aber unveränderlich. Einer Konstanten wird bereits während der Deklaration ein Wert zugewiesen, der später nicht mehr verändert werden kann. Const Konstantenname As Datentyp = Ausdruck Beispiele: Const Pi as Double = 3.14159 Const Programmname as String = " Mein Programm " VBA stellt eine Vielzahl von Konstanten zur Verfügung (siehe z.b. Abschnitt Meldungsfenster) Wichtig String-Konstanten: Zeilenumbruch vbcrlf, Tabulator vbtab 14 / 48

Operatoren Ein Ausdruck ist eine Kombination aus Werten, Variablen, Konstanten und Operatoren. Arithmetische Operatoren: +,,, /,\, Mod, ˆ Vergleichsoperatoren: <, <=, >, >=, =, <> Logische Operatoren: Not, And, Or Verkettungsoperator: & (Konkatenation von Strings) 15 / 48

Vergleiche mit String-Mustern Der Vergleichsoperator Like wird verwendet, um Strings mit String-Mustern zu vergleichen. Zeichen Bedeutung Beispiel? Ein einzelnes Zeichen "Hallo" Like "H?lo"-> false * Kein oder mehrere Zeichen "Haut" Like "H*t"-> true [Liste] Ein Zeichen der Liste "X" Like "[A-Z]"-> true [!Liste] Ein Zeichen nicht in der Liste "K" Like "[!a-m]"-> false 16 / 48

Kontrollstrukturen 17 / 48

Wiederholung: Verzweigungen Bei Verzweigungen werden Programmteile abhängig von einer Bedingung ausgewertet. If Ausdruck Then... Else... End If If Alter >= 18 Then MsgBox " Normaltarif " Else MsgBox " Jugendtarif " End If 18 / 48

Schleifen Mit Schleifen wird ein Anweisungsblock wiederholt ausgeführt. Zählergesteuerte Wiederholung For Zaehler = Start To Ende [ Step d] Anweisungsblock Next Beispiel For X = 1 To 20 Step 5 Debug. Print "X ist " & X Next Schrittweite wird durch Step angepasst, ohne Angabe wird Schrittweite 1 verwendet. 19 / 48

Schleifen unter Bedingungen Kopfgesteuerte bedingte Wiederholung Do While / Until Ausdruck Anweisungsblock Loop X = 1 Do Until X >= 20 Debug. Print "X ist " & X X = X + 5 Loop Y = 1 Do While Y < 20 Debug. Print "Y ist " & Y Y = Y + 5 Loop Fussgesteuerte bedingte Wiederholung Do Loop Anweisungsblock While / Until Ausdruck X = 1 Do Debug. Print "X ist " & X X = X + 5 Loop Until X >= 20 Fussgesteuerte Schleifen werden immer mind. einmal ausgeführt! 20 / 48

Prozeduren und Funktionen 21 / 48

Übersicht: Prozeduren Prozeduren bestehen aus einer Folge von Anweisungen (z.b. Zuweisungen von Variablen, Prozeduraufrufen, Verzweigungen, Schleifen,...). Wichtige Form der Abstraktion beim Programmieren! 22 / 48

Sub-Prozeduren Sub-Prozeduren geben keinen Wert zurück. Syntax von einfachen Sub-Prozeduren Sub Prozedurname ()... End Sub Syntax von Prozeduraufrufen Prozedurname Call Prozedurname 23 / 48

Prozeduren mit Parametern Syntax von Sub-Prozeduren mit Parametern Sub Prozedurname ([ ByVal ByRef ] Parametername [ As Type ],...)... End Sub Syntax von Prozeduraufrufen Prozedurname ( Ausdruck,...) Call Prozedurname ( Ausdruck,...) 24 / 48

Prozeduren mit Parametern und Call-by-Value Der Wert des Ausdrucks wird als Kopie an den die Prozedur weitergegeben. Die Prozedur kann den übergebenen Wert verändern, ohne dass sich der ursprüngliche Wert ändert (call by value). Sub IncrVal ( ByVal i as Integer ) i = i + 1 End Sub... Dim j as Integer, k as Integer j = 10 Call IncrVal ( j) k = j k hat hier den Wert 10 25 / 48

Prozeduren mit Parametern und Call-by-Reference Alternativ kann ein Parameter eine Referenz auf die Variable erhalten, die den Wert enthält (call by reference). Die Prozedur arbeitet dann nicht mit einer Kopie, sondern kann die Variable selbst direkt verändern. Sub IncrRef ( ByRef i as Integer ) i = i + 1 End Sub... Dim j as Integer, k as Integer j = 10 Call IncrRef ( j) k = j k hat hier den Wert 11 26 / 48

Funktionen Funktionen können, wie Prozeduren, mehrere Anweisungen ausführen und geben immer einen Wert an das aufzurufende Programm zurück. Syntax von Funktionen Function Funktionsname ([ ByVal ByRef ] Parametername [ As Type ],...) [As Type ]... Funktionsname = Rueckgabewert... End Function Wenn kein Rückgabewert spezifiziert wird, wird ein Standardwert entsprechend dem Datentypen der Funktion zurückgegeben. Syntax von Funktionsaufrufen Funktionsname ( Ausdruck,...) Während Prozeduraufrufe eigenständige Anweisungen sind, sind Funktionsaufrufe Ausdrücke. 27 / 48

Beispiele: Prozeduren und Funktionen Sub AbsatzFormatieren () ActiveDocument. Selection. Range. Bold = True ActiveDocument. Selection. Range. Italic = True End Sub Function Max ( x as Integer, y as Integer ) as Integer If x < y Then Max = y Else Max = x End Function 28 / 48

Aufruf von Prozeduren und Funktionen mit Parametern Wenn der Aufruf in einer Zeile steht, sind verschiedene Varianten möglich: ProcName A,B, C Call ProcName (A,B, C) Aus der Praxis: Verwenden Sie in diesem Fall Call zum Aufruf von Methoden und klammern Sie die Argumente! Sonst wird die Variante mit Klammern und ohne Call verwendet (ProcName(A,B,C)). Hat eine Prozedur nur ein Argument und wird dieses eingeklammert ohne Call zu verwernden, wird zunächst das Argument auswertet. Dabei kann aus einem Call-by-Ref unbeabsichtigt ein Call-by-Value werden, oder auch ein Typkonversionsfehler passieren. Call IncrRef ( j) Semantik von Call - By - Ref IncrRef (j) Semantik von Call -By - Val IncrRef j Semantik von Call - By - Ref 29 / 48

Im Dialog mit dem Benutzer 30 / 48

Wiederholung: Meldungsfenster Meldungsfenster können dazu genutzt werden, dem Benutzer Informationen mitzuteilen und auch abzufragen. Sie bestehen aus dem Meldungstext und standardmäßig der Schaltfläche OK. Sie kann optional mit einem Titel, Informationssymbolen und weiteren Schaltflächen ergänzt werden. Einfaches Meldungsfenster MsgBox (" Meldungstext ") Meldungsfenster mit Titel und Informationssymbol MsgBox (" Meldungstext ", vbinformation, " Titel ") 31 / 48

Schaltflächen Mögliche Kombinationen von Schaltflächen Konstante Wert Schaltfläche vbokonly 0 OK vbokcancel 1 OK und Abbrechen vbabortretryignore 2 Abbrechen, Wiederholen und Ignorieren vbyesnocancel 3 Ja, Nein und Abbrechen vbyesno 4 Ja und Nein vbretrycancel 5 Wiederholen und Abbrechen 32 / 48

Rückgabewerte von Schaltflächen Konstante Wert gewählte Schaltfläche vbok 1 OK vbcancel 2 Abbrechen vbabort 3 Abbrechen vbretry 4 Wiederholen vbignore 5 Ignorieren vbyes 6 Ja vbno 7 Nein 33 / 48

Eingabedialoge Die Funktion InputBox erzeugt Eingabedialog mit Text und einer Eingabezeile. Der vom Anwender eingegebene Wert wird als String zurückgeliefert. Bei Betätigen der Schaltfläche Abbrechen ist es der leere String "". Der optionale Parameter Default legt den Wert fest, der standardmässig im Eingabefeld angezeigt wird. InputBox (Text, [ Title ], [ Default ]) 34 / 48

Objekte in VBA 35 / 48

Objekte in VBA Alle Elemente in MS Office, wie Dokumente, Tabellen, Graphiken, etc., sind Objekte. Typische Objekte in Excel sind Arbeitsmappen (Workbook), Tabellenblätter (Worksheet), Diagramme (Charts) und Zellen (Range,Cell). Das gerade aktive Objekt wird mittels ActiveXXX referenziert (z.b. ActiveWorkbook oder ActiveCell). Eine vollständige Übersicht listen die Developer Referenzen (z.b. http://msdn.microsoft.com/en-us/library/ office/ff846392(v=office.14).aspx). 36 / 48

Objekte Objekte sind Programmeinheiten, die Daten sowie die Prozeduren zum Verarbeiten dieser Daten enthalten. Objekte haben einen Zustand (definiert durch Eigenschaften/Properties), ein Verhalten (definiert durch objektspezifische Prozeduren/Methoden) und eine Identität (wodurch es sich von Objekten des gleichen Typs unterscheidet). 37 / 48

Klassen Eine Klasse ist eine Art Modell für Objekte des gleichen Typs. Sie dient als Bauplan für die einzelnen Objekte und definiert deren Eigenschaften und Methoden. Beispiel: Document bezeichnet die Klasse für Word-Dokumente, ActiveDocument eine Objekt-Instanz der Klasse Document. 38 / 48

Zugriff auf Methoden und Eigenschaften Objektverweise sind Variablen, die eine Referenz auf ein Objekt enthalten. Deklaration von Objektvariablen Dim Objektvariable as Objektdatentyp Zuweisung auf Objektvariable: Set Objektvariable = Objekt Zugriff auf Eigenschaften: Objektvariable. Eigenschaftsname Aufruf von Methoden: Objektvariable. Methodenname Objektvariable. Methodenname ( Parameter ) Löschen von Objektvariablen Set Objektvariable = Nothing 39 / 48

Auflistungen (Collections) Auflistungen sind spezielle Objekte, die aus einer Menge von Objekten des gleichen Typs bestehen. Beispiel: Die Auflistung Worksheets in Excel enthält alle aktuell geöffneten Tabellenblätter. Auf einzelne Objekte in einer Auflistung wird über einen Indexwert zugegriffen (beginnend mit 1). Sub Blaetter () Dim Anzahl As Integer, Index as Integer Anzahl = Worksheets. Count For Index = 1 To Anzahl Debug. Print Worksheets ( Index ). Name End Sub Häufig kann auch der Name des Objekts zum Zugriff verwendet werden. Workbooks (" Mappe1. xlsm "). Worksheets (" Tabelle2 "). Range ( "A1:B5") 40 / 48

VBA Objekte in Word und Excel 41 / 48

Beispiel: Dokumente in Word Sub DokumentOeffnenSchliessenErstellen () Dim Brief As Document Set Brief = Documents. Open ( ActiveDocument. Path & "\ Testbrief. docx ") Brief. Close Set Brief = Nothing gibt den Speicherplatz wieder frei End Sub Activate Aktiviert das Dokument Close Schliesst und speichert das Dokument Path Pfad zum Speicherort des Dokuments Printout Druckt das Dokument Save Speichert das Dokument SaveAs Speichert das Dokument unter einem neuen Namen Weitere Methoden/Eigenschaften: Verwendung von Templates, Schreib-/Passwortschutz 42 / 48

Textbereiche Ein Range Objekt referenziert einen zusammenhängenden Bereich eines Dokuments. Es wird über einen Start- und einen Endcharacter definiert. Ein Range Objekt kann auch nur die Eingabemarke definieren. Sub TestRangeObjects () Dim rngins As Range, rngpar1 As Range, rngpar2 as Range Dim doc As Document Set rngpar1 = doc. Paragraphs (1). Range MsgBox " Der 1. Absatz beginnt mit dem Wort " & rngpar1. Words. First & "." Set rngpar2 = doc. Range ( Start := doc. Paragraphs (2). Range. Start, End := doc. Paragraphs (3). Range. End ) Set rngins = doc. Range ( Start :=0, End :=0) rngins. InsertBefore " Hello " End Sub 43 / 48

Markierte Textbereiche Das Selection Objekt referenziert den markierten Bereich des aktuellen Dokuments. Sub TestSelectionObject () Dim rngparagraph As Range Selection. Font. Bold = True Select Case Selection. Type Case wdselectionnormal MsgBox " Sie haben folgenden Text markiert : "& Selection. Text Case wdselectionip MsgBox " Sie haben nichts markiert " Set rngparagraph = ActiveDocument. Paragraphs (2). Range rngparagraph. Select Selection. Font. Italic = True End Sub 44 / 48

Zugriff auf Dokumenteninhalte Characters Sentences Paragraphs Words Start/End Text Auflistung einzelner Zeichen Auflistung von Sätzen Auflistung von Absätzen Auflistung von Worten Start- bzw. Endposition Textinhalt 45 / 48

Beispiel: Arbeitsmappen und Tabellen in Excel Arbeitsmappen (Workbooks) beinhalten Tabellenblätter (Worksheets) und Diagramme (Charts). UsedRange referenziert den verwendeten Bereich eines Tabellenblatts. CurrentRegion bezeichnet einen Bereich gefüllter Zellen, die von leeren Zellen umgeben sind. Mittels Cells lassen siche einzelne Zellen referenzieren. Sub ArtikelSuchen () Dim ArtNr As String, Zaehler As Integer ArtNr = InputBox (" Geben Sie eine Artikelnummer ein : ", " Artikel suchen ") ThisWorkbook. Sheets (" Artikel "). Activate For Zaehler = 1 To Range ("A1"). CurrentRegion. Rows. Count If Cells ( Zaehler,1). Value = ArtNr Then MsgBox " Artikel wurde gefunden " Exit Sub End If Next MsgBox " Artikel nicht vorhanden " End Sub 46 / 48

Zellbereiche Ein Range Objekt bezeichnet in Excel einen zusammenhängenden Zellbereich. Worksheets (1). Range ("A4"). Value Worksheets (" Messreihe "). Range ("B2:B8"). Count Range ("A1:A5","B1:B5"). Count verwendet implizit das akutelle Tabellenblatt Range ( Cells (3,3),Cells (4,6) ). Select entspricht Range (" C3:F3 "). Select 47 / 48

Zusammenfassung Ausdrücke: Variablen, Konstanten, zusammengesetzte Ausdrücke mit Operatoren, Funktionsaufrufe Anweisungen (Statements): Prozeduraufrufe, Kontrollstrukturen (Verzweigungen, Schleifen) Meldungs- und Eingabefenster Objekte mit Eigenschaften und Methoden VBA Objekte in Word und Excel (Auswahl durch Selection und Range) 48 / 48