VBA Code für Word

Word lässt sich mittels VBA optimieen. Wiederkehrende Aufgaben oder Handgriffe können optimiert und automatisiert werden. Einige dieser Tools und Funktionen haben wir zur Verfügung gestellt.

Alle zur Verfügung gestellten Materialien sind nach bestem Wissen zusammengestellt worden, dennoch können wir für Fehler oder die Funktion keine Verantwortung übernehmen.


Dokument sichern

Das Programm sichert die aktuelle Word Datei in einem Unterverzeichnis. Die Sicherung wird mit einem Timestamp versehen. Das Makro ist in die normal.dot zu übernehmen und kann dann mittels Button in der Icon-Leiste verknüpft werden.

Mehr…
Sub Snapshot2Archive()
' Routine in Normal Dot speichern und via Toolbar verfügbar machen
On Error GoTo ErrorExit
Dim activePath As String
Dim activeName As String
Dim activeFile As String
Dim activeTarget As String
Dim activeArchiv As String
Dim categoryNo As String
' Sub-Verzeichnis zur Sicherung der Snapshots festlegen
activeArchiv = "archive"
activePath = ActiveDocument.Path
activeName = ActiveDocument.Name
activeFile = activePath & "\" & activeName
activeTarget = activePath & "\" & activeArchiv & "\" & Format(Date, "yyyymmdd") & "-" & Format(Time, "hhmmss") & "-" & activeName
ChDir (activePath & "\" & activeArchiv & "\")
ActiveDocument.SaveAs2 FileName:= _
activeTarget _
, FileFormat:=wdFormatXMLDocument, LockComments:=False, Password:="", _
AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData _
:=False, SaveAsAOCELetter:=False, CompatibilityMode:=14
ActiveDocument.Close
Documents.Open FileName:= _
activeFile _
, ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
wdOpenFormatAuto, XMLTransform:=""
categoryNo = Str(Val(ActiveDocument.BuiltInDocumentProperties(wdPropertyCategory).Value) + 1)
ActiveDocument.BuiltInDocumentProperties(wdPropertyCategory).Value = categoryNo & " version sequence"
ActiveDocument.Save
MsgBox "Document snapshot was stored into sub-folder " & activeArchiv & "!", vbInformation, ActiveDocument.BuiltInDocumentProperties(wdPropertyCategory).Value
Exit Sub
ErrorExit:
If Err = 76 Then
MkDir (activePath & "\" & activeArchiv & "\")
Resume Next
Else
MsgBox Error(Err), vbInformation, "Fehlermeldung (" & LTrim(Str(Err)) & ")"
Resume Next
End If
End Sub
Weniger…

Formular anlegen

Die Textverarbeitung eignet sich auch gut um Formulare zu erstellen. Diese können benutzerfreundlich generiert werden, mit und ohne Unterstützung von Makros.

Mehr…

Folgende Schritte sind zu durchlaufen:

  1. Neues Dokument (Vorlage) anlegen: „Dot“, wenn keine Makro Programmierung benötigt wird und „DOTM“, wenn Makro Unterstützung implementiert werden soll.
  2. Die zur Erstellung der Formulare erforderlichen Buttons und Elemente sind im Reiter Development zu finden, ggf. muss dieser Reitern noch aktiviert werden.
  3. Design Mode – hierüber werden die Eingabefelder zwischen Erfassungsmodus und Konfigurationsmodus aktiviert
    Restricted Editing – (der Design Mode ist auf Erfassung eingestellt) über diesen Button wird eine Leiste mit weiteren Optionen zur Verfügung gestellt. Hierüber kann das Verhalten des Formulars konfiguriert werden.
  4. Abschließend ist der Button „Yes, start enforcing protection“ zu klicken, danach stehen nur noch die Formularfelder für die Eingabe zur Verfügung.
Weniger…

Verüfgbare Befehle drucken

Dieses Makro erstellt ein neues Dokument mit einer vierspaltig formatierten Tabelle. In der ersten Spalte der Tabelle erscheint der Befehlsname, in der zweiten und dritten die entsprechende Tastenkombination und in der vierten ein Hinweis auf das Menü, in dem der Befehl zu finden ist. Das Dokument wird auf dem Drucker ausgegeben, so daß Sie ein rund 20 bis 25 Seiten starkes Nachschlagewerk erhalten. Das dazugehörende Dokument wird nach dem Ausdruck wieder entfernt.

Mehr…
Public Sub WordBefehleDrucken()
Dim i%, Befehle%
Application.ListCommands ListAllCommands:=True
Befehle = ActiveDocument.Tables(1).Rows.Count
With ActiveDocument.Tables(1).Rows(1).Shading
.Texture = wdTexture20Percent
.ForegroundPatternColorIndex = wdBlack
.BackgroundPatternColorIndex = wdAuto
End With
With Selection
.SplitTable
.InsertBreak Type:=wdPageBreak
.HomeKey Unit:=wdStory
.TypeText text:=“Übersicht über alle Word97 - Befehle ( " & Str(Befehle) & " )"
.HomeKey Unit:=wdStory
.MoveRight Unit:=wdSentence, Extend:=wdExtend
.ParagraphFormat.Alignment = wdAlignParagraphCenter
With .Font
.Underline = wdUnderlineSingle
.Italic = wdToggle
.Bold = wdToggle
.Size = 20
End With
.HomeKey Unit:=wdStory
For i = 1 To 10
.TypeParagraph
Next
End With
With ActiveDocument
.PrintOut
.Close SaveChanges:=wdDoNotSaveChanges
End With
End Sub
Weniger…