Dokumentenöffnung zählen

01/04/2009 - 23:00 von Klaus Fierenz | Report spam
Hallo zusammen,

ich habe schon ziemlich lange im Netz gesucht, aber leider nichts gefunden.

Ich benötige für ein Dokument unter Word 2003 ein Makro, welches zàhlt wie
oft das Dokument geöffnet wurde. Das wàre das Wichtigste. Eine schöne Zugabe
wàre noch, wenn man auch erfassen kann von welchem Benutzer es geöffnert
wurde.
Am besten würden die Daten in eine Exceltabelle, eine neues Worddokument
oder
ganz einfach in ein Textfile geschrieben werden.

Es wàre mir egal, ob die Realisierung mit Wordmakros, oder mit Windows
Scripting oder sonst was realisiert werden würde.

Über Hilfe würde ich mich freuen.

Danke
Klaus
 

Lesen sie die antworten

#1 Thomas Gahler
02/04/2009 - 08:31 | Warnen spam
Hallo Klaus



ich habe schon ziemlich lange im Netz gesucht, aber leider nichts
gefunden.


...und deshlab gleich an zwei Orten gefragt, tztztzzz... Das leiben wir
nicht, wenn dann parallel nach Lösungen gesucht werden.



Ich benötige für ein Dokument unter Word 2003 ein Makro, welches zàhlt wie
oft das Dokument geöffnet wurde. [...]


Das wàre eine Möglichkeit...


Sub AutoOpen()
Dim strProtokollDatei As String
Dim strNameAnwender As String
Dim strAnzahl As String

'Protokolldatei bestimmen
strProtokollDatei = "C:\Temp\" & ThisDocument.Name & ".txt"

'Anwender feststellen
strNameAnwender = Application.UserName
If Len(Trim$(strNameAnwender)) = 0 Then
strNameAnwender = "<unbekannt>"
End If

'
'Anzahl der Öffnungen (Allgemein) einlesen
strAnzahl = System.PrivateProfileString( _
FileName:=strProtokollDatei, _
Section:="Allgemein", _
Key:="AnzahlGeöffnet")
'Noch nie geöffnet
If Len(Trim$(strAnzahl)) = 0 Then
strAnzahl = "0"
End If

'Anzahl der Öffnungen (Allgemein) inkrementieren
strAnzahl = CStr(CLng(strAnzahl) + 1)
System.PrivateProfileString( _
FileName:=strProtokollDatei, _
Section:="Allgemein", _
Key:="AnzahlGeöffnet") = strAnzahl

'Zuletzt geöffnet (Allgemein)
strAnzahl = CStr(CLng(strAnzahl) + 1)
System.PrivateProfileString( _
FileName:=strProtokollDatei, _
Section:="Allgemein", _
Key:="Zuletzt Geöffnet") = Format$(Now, "dd/mm/yyyy hh:nn:ss")

'
'Anzahl der Öffnungen (pro Anwender) einlesen
strAnzahl = System.PrivateProfileString( _
FileName:=strProtokollDatei, _
Section:=strNameAnwender, _
Key:="AnzahlGeöffnet")
'Noch nie geöffnet
If Len(Trim$(strAnzahl)) = 0 Then
strAnzahl = "0"
End If

'Anzahl der Öffnungen (pro Anwender) inkrementieren
strAnzahl = CStr(CLng(strAnzahl) + 1)
System.PrivateProfileString( _
FileName:=strProtokollDatei, _
Section:=strNameAnwender, _
Key:="AnzahlGeöffnet") = strAnzahl

'Zuletzt geöffnet (Allgemein)
strAnzahl = CStr(CLng(strAnzahl) + 1)
System.PrivateProfileString( _
FileName:=strProtokollDatei, _
Section:=strNameAnwender, _
Key:="Zuletzt Geöffnet") = Format$(Now, "dd/mm/yyyy hh:nn:ss")
End Sub





...und nicht vergessen den Betriebsrat zu informieren, denn da werden
Anwenderdaten erhoben.






Thomas Gahler
MVP für Word
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)


- Windows XP (SP3), Office XP (SP3)

Ähnliche fragen