AW: Aktionen beim Öffnen einer beliebigen Datei
02.03.2005 15:50:10
Heiko
Hallo Stefan,
deine erste Frage lautete
" ich möchte beim Öffnen einer beliebigen Datei ein Scipt prüfen lassen, ob diese Datei von mir ist und wenn ja, dann gewisse Anpassungen vornehmen lassen (Fußzeilen aktualisieren,...). "
Wenn dies auf jedem Rechner gehen soll, dann mußt du auf jedem Rechner ein AddIn installieren oder die entsprechende PERSONAL.xls anpassen. Empfinde ich als sehr aufwendig, wie willst du sicherstellen das auf allen Rechner auf denen dann mal deine Dateien geöffnet werden, das AddIn drauf ist.
Wenn das auf Dateien zutreffen soll die du mit deinem Rechner öffnest dann sollte es mit folgendem Code in deiner PERSONAL.xls gehen.
Denn die PERSONAL.xls wird immer zuerst geladen, wenn sie von dir erstellt wurde und sie ist solange offen wie du EXCEL geöffnet hast.
Folgenden Code dann in deine PERSONAL.xls.
In ein Klassenmodul mit dem Namen "Klasse1".
Option Explicit
Public WithEvents App As Application
Private Sub App_WorkbookActivate(ByVal Wb As Workbook)
MsgBox "Datei " & Wb.Name & " wurde geöffnet!", vbInformation
End Sub
Private Sub App_WorkbookDeactivate(ByVal Wb As Workbook)
MsgBox "Datei " & Wb.Name & " wurde geschlossen!", vbInformation
End Sub
Dies in ein allgemeines Modul.
Option Explicit
Dim X As New Klasse1
Sub InitializeApp()
' Called by Workbook_Open
Set X.App = Application
End Sub
Dies in DieseArbeitsmappe.
Option Explicit
Private Sub Workbook_Open()
Call InitializeApp
End Sub
Probiere es doch mal aus, bei mir wird nun jedes öffnen und schliessen einer Arbeitsmappe angezeigt. Denn Code kann man dann ja so anpassen das man bei den BuiltinDocumentProperties den Author abfragt und entsprechend handelt.
Gruß Heiko
PS: Rückmeldung wäre nett