![]() |
Tipp 0033
|
Automatisches Starten von Makros
|
 |
|
Autor/Einsender: Datum: |
|
Angie 24.05.2005 (Update) |
|
Entwicklungsumgebung: |
|
Word 97 |
|
|
Es gibt immer wieder Situationen, in denen Sie eine bestimmte Aktion ausführen wollen,
z. B. wenn Sie ein vorhandenes Dokument öffnen oder schließen oder ein neues Dokument
erstellen. Word stellt für bestimmte Ereignisse sowohl die sogenannten
Auto-Makros
als auch die
Ereignisse des Document-Objekts
und die
Ereignisse des Application-Objekts
bereit.
|
Wenn Sie beispielsweise beim Öffnen eines Dokuments etwas ausführen lassen möchten, dann stehen
Ihnen das AutoOpen-Makro und das Document_Open-Ereignis
zur Verfügung. Welchen Gültigkeitsbereich die Auto-Makros und Ereignisse haben, kann
den oben genannten Tipps entnommen werden.
|
In diesem Beispiel wurden zur Demo die Auto-Makros AutoNew und
AutoOpen in einer Dokumentvorlage (*.dot) gespeichert.
|
AutoNew-Makro
|
Wird ein neues Dokument auf Basis der Dokumentvorlage (*.dot) erstellt (Menü Datei/Neu...),
wird das AutoNew-Makro automatisch ausgeführt und Sie werden zum Speichern des
Dokuments aufgefordert.
|
AutoOpen-Makro
|
Hier wird beim Öffnen (Menü Datei/Öffnen...) der Dokumentvorlage (*.dot) oder
eines Dokuments (*.doc) basierend auf der Vorlage, ein Log-Eintrag mit Dateinamen,
Benutzernamen, Datum und Uhrzeit am Ende einer Textdatei angehängt. Sollte die Log-Datei noch
nicht existieren, wird diese erstellt.
|
|
|
Option Explicit
Sub AutoNew()
Const cTitle As String = "VB-fun-Demo - AutoNew-Makro"
Dim nRetVal As Long
nRetVal = MsgBox("Dieses Dokument wurde noch nicht " & _
gespeichert !" & vbCr & "Möchten Sie dies jetzt tun ?", _
vbYesNo + vbQuestion + vbDefaultButton1, cTitle)
If nRetVal = vbYes Then
ChangeFileOpenDirectory ActiveDocument.AttachedTemplate.Path
Application.Dialogs(wdDialogFileSaveAs).Show
End If
End Sub
Sub AutoOpen()
Const cTitle As String = "VB-fun-Demo - AutoOpen-Makro"
Const cLogFile As String = "Beispiel.log"
Dim strFileName As String
Dim strMsg As String
Dim FN As Integer
strFileName = ThisDocument.Path & "\" & cLogFile
strMsg = ActiveDocument.FullName & vbCrLf & _
"wurde geöffnet von " & Application.UserName & _
" am " & CStr(Date) & " um " & CStr(Time)
FN = FreeFile()
On Error Resume Next
Open strFileName For Append As #FN
Print #FN, strMsg
Close #FN
If Err.Number = 0 Then
MsgBox "Die Textdatei " & cLogFile & " wurde ergänzt !", _
vbInformation, cTitle
End If
On Error GoTo 0
End Sub
|
|
|
|
|
Windows-Version |
95 |
 |
|
98/SE |
 |
|
ME |
 |
|
NT |
 |
|
2000 |
 |
|
XP |
 |
|
Vista |
 |
|
Win
7 |
 |
|
|
Word-Version |
95 |
 |
|
97 |
 |
|
2000 |
 |
|
2002
(XP) |
 |
|
2003 |
 |
|
2007 |
 |
|
2010 |
 |
|
|
|
Download (8,3 kB)
|
Downloads bisher: [ 1606 ]
|
|
|