Erfahrungen mit VBA für Word 2003

Hier mal eine kleine Notiz für mich über meine bisherigen Erkentnisse aus der Arbeit mit VBA für Word 2003.

Seiteneinstellungen

ActiveDocument.PageSetup.PageWidth = CentimetersToPoints(24)

ActiveDocument.PageSetup.PageHeight = CentimersToPoints(30)

Mit diesen beiden Parametern kann man die Höhe und Breite einer Seite verändern. Die Funktion CentimetersToPoints() dient dazu einen Wert in Zentimetern angeben zu können.

Textformatierung

Schriftgröße

Selection.Font.Size = 10

Die Schriftgröße wird in ‘pt’ angegeben. Wie in Word selbst.

Schriftart

Selection.Font.Name = “Arial”

Ausrichtung

Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter

Als Beispiel zum Zentrieren des Textes.

Drucken & Druckeinstellungen

Um den Druckvorgang direkt aus einem Makro heraus anzustoßen gibt es den Befehl ActiveDocument.PrintOut

ActiveDocument.PrintOut unterstützt dabei unter anderem die folgenden Parameter:

Background

Den Druckvorgang im Hintergrund starten.

PrintZoomPaperHeight

Die Höhe des Dokuments in Punkten (hier könnte man wieder auf CentimetersToPoints zurückgreifen)

PrintZoomPaperWidth

Die Breite des Dokumentsauch wieder in Punkten.

Weitere Funktionen

trim(String)

trim() entfernt wie in anderen Sprachen auch, die Leerzeichen am Anfang und Ende eines Strings.

mid(String, StartPosition, Länge)

Die Funktion mid() würde ich als Pendant von substr() in PHP bezeichnen. Damit ist es möglich einen String teilweise auszugeben indem man eine Startposition und eine Länge angeben kann.

mid(“Hallo!”,3,2) ergibt also z.B. ein “ll”

replace(String, ZuErsetzen, ErsetzenDurch)

Die Funktion replace() ermöglicht es bestimmte Teile eines Strings zu ersetzen. Dafür gibt man den Ausgangsstring, den zu ersetzenden Teil und natürlich den String an der dafür eingesetzt werden soll.

Um unerwünschte Zeilenumbrüche zu entfernen kann man als zu ersetzendes Zeichen auch ‘vbCrLf’ angeben.

UCase(String)

Verwandelt alle Zeichen in einem String in Großbuchstaben. (Bei PHP wäre das z.B. StrToUpper())

Das soll es auch erstmal gewesen sein. Alles in allem bin ich noch kein großer Freund von VBA allerdings finde ich das man sich doch relativ schnell einarbeiten kann. Ich denke das noch mindestens ein weiterer Teil folgen wird, da ich mich derzeit doch recht häufig mit VBA beschäftigen muss :)

0 Responses to “Erfahrungen mit VBA für Word 2003”


  • No Comments

Leave a Reply