Moin allerseits,
nebenan gab es die nette Aufgabe für ein -von mehreren Personen fortlaufend geführtes- Protokoll eine laufende Nummer der Einträge zu generieren. Der Windows-Dino Notepad.exe kann das zumindest aktuelles Datum und Zeit, wenn man einfach nur einen Punkt als erster Zeichen liegen lässt.
Hier geht's ein bisschen weiter: Beim Öffnen der Datei werden Benutzername: die lfd.Nr. des Tages, die Uhrzeit hh:mm mit abschließendem Zeilenumbruch eingefügt und der Cursor am Beginn des neuen Eintrags platziert. Vorheriger Text wird nach unten verschoben.
Der Code gehört in ein allg. Modul des aktuellen Dokuments und wird in
ThisDocument
mit
Code: Alles auswählen
Private Sub Document_Open()
Call LastEdit
End Sub
Code: Alles auswählen
Public Sub LastEdit()
Dim iDay As Integer, sDay As String, rng As Range
iDay = DateDiff("d", DateSerial(Year(Date), 1, 1), Date) + 1
sDay = iDay
If iDay < 10 Then
sDay = "00" & iDay
ElseIf iDay < 100 Then
sDay = "0" & iDay
End If
sDay = Environ$("USERNAME") & ": " & sDay & "-" & Format(Time, "hh:mm")
Set rng = ActiveDocument.Range(0, 0)
With rng
.InsertBefore sDay & vbCrLf & vbCrLf
.MoveEnd Unit:=wdParagraph, Count:=1
End With
With ActiveDocument.Paragraphs(2).Range
.Collapse Direction:=wdCollapseStart
.Select
End With
End Sub
d'r Bastler: 169-12:07
Wer nur lesen will, tut das ohne das Dokument am Ende zu speichern. Wer ergänzen will, speichert.
Viel Spaß damit!