Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
752to756
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
752to756
752to756
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Feststellen, wer datei geändert hat?

Feststellen, wer datei geändert hat?
07.04.2006 13:32:46
Andreas
Hallo,
kann man irgendwie feststellen, wer oder wann zuletzt eine Exceldatei geändert hat?
Das bedeutet, Excel müsste den Rechnernamen oder IP auslesen und in der entsprechend bearbeiteten Tabelle in einer vorgegebenen Zelle eintragen.
Geht so etwas? Vielen Dank für euren Hinweis.
Gruss Andreas

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Feststellen, wer datei geändert hat?
07.04.2006 13:48:01
u_
Hallo,
in DieseArbeitsmappe:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets("Tabelle1").Range("A1") = Environ("computername")
End Sub

Gruß
Geist ist geil!
AW: Feststellen, wer datei geändert hat?
07.04.2006 14:27:29
Andreas
Hi,
hab das ganze über Extras-Makro-VBA Editor-DieseArbeitsmappe-einfügen-Modul eingegeben und gespeichert, so wie du es oben vorgegeben hast.
Beim abspielen des Makros, will er aber ein neues erstellen, obwohl ich es gespeichert habe. Auch wenn ich den Name Workbook_BeforeSave eingebe will er eines erstellen. Will ich aber unter dem Namen Workbook_BeforeSave ein neues abspeichern, sagt er das Modul, Projekt oder Objektbibliothek ist vorhanden. Was läuft falsch?
Was für Variablen außer Computernamen kann man noch nutzen?
mfG
Andreas Müller
Anzeige
AW: Feststellen, wer datei geändert hat?
ransi
HAllo
"Was für Variablen außer Computernamen kann man noch nutzen?"
environ()
 AB
3environ(1)ALLUSERSPROFILE
4environ(2)APPDATA
5environ(3)CLIENTNAME
6environ(4)CommonProgramFiles
7environ(5)COMPUTERNAME
8environ(6)ComSpec
9environ(7)HOMEDRIVE
10environ(8)HOMEPATH
11environ(9)LOGONSERVER
12environ(10)NUMBER_OF_PROCESSORS
13environ(11)OS
14environ(12)Path
15environ(13)PATHEXT
16environ(14)PROCESSOR_ARCHITECTURE
17environ(15)PROCESSOR_IDENTIFIER
18environ(16)PROCESSOR_LEVEL
19environ(17)PROCESSOR_REVISION
20environ(18)ProgramFiles
21environ(19)SESSIONNAME
22environ(20)SystemDrive
23environ(21)SystemRoot
24environ(22)TEMP
25environ(23)TMP
26environ(24)USERDOMAIN
27environ(25)USERNAME
28environ(26)USERPROFILE
29environ(27)windir
 

ransi
Anzeige
AW: Feststellen, wer datei geändert hat?
ransi
Hallo Andreas
drückst du Alt+F11
Doppelclick auf "DieseArbeitsmappe"
Da dann diesen code rein.


Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    With Sheets("Tabelle1")
        .[a1] = VBA.Environ("Username")
        .[a2] = VBA.Environ("Computername")
    End With
End Sub


ransi
Anzeige
Geht. Schade dass es kein Datum gibt.
07.04.2006 15:44:14
Andreas
Hallo,
danke das geht jetzt. Wie schon erwähnt, schade dass es kein Datum gibt. Da habe ich unter den von dir zugesendeteten nichts gefunden.
Gruss Andreas
AW: Geht. Schade dass es kein Datum gibt.
ransi
Hallo
Mit ein klein wenig Aufwand geht das auch:
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim fs As Object
Dim datei
Set fs = CreateObject("Scripting.FileSystemObject")
Set datei = fs.getfile(ThisWorkbook.FullName)
With Sheets("Tabelle1")
.[a1] = VBA.Environ("Username")
.[a2] = VBA.Environ("Computername")
.[a3] = datei.DateLastModified
.[a4] = datei.DateLastAccessed
End With
End Sub

ransi
Anzeige
AW: Geht. Schade dass es kein Datum gibt.
07.04.2006 15:59:51
Andreas
Hi,
kann es sein, dass wenn es andere Makros gibt in dieser Arbeitsmappe, dass sich diese "beißen"? Ich habe dann die Zelle verändert von a1 auf a90 z.b., aber immer wieder die Meldung außerhalb des Indexbereiches.
Mache ich das ganze auf eine leere Tabelle geht das.
Aber ansonsten funktioniert das gut was du mir vorgheschlagen und gezeigthast, danke.
mfG
Andreas Müller
Schönes Wochenende noch..........
AW: Geht. Schade dass es kein Datum gibt.
10.04.2006 08:57:39
Andreas
Hallo und guten morgen Ransi,
geht gut dein Vorschlag, auf einer neuen Arbeitsmappe. Ich habe in der orginal Datei noch ein Makro laufen. Dadurch kommt es anscheinend zu einem Konflikt, da es auf einem separaten Blatt ohne Probleme läuft. Das andere Makro sieht wie folgt aus:

Sub Tarnkappe()
UserForm1.Show
End Sub

Wenn ich die Datei schließen will (und nur dann), bringt er ein Fenster mit Laufzeitfehler 9. Dazu bietet er keinen Debugger an!
Index außerhalb des gültigen Bereiches. Hast du eine Ahnung wie man so was beheben kann?
Das Herberforum oder Google brachte mir keine vernünftige Lösung.
mfG
Andreas
Anzeige
AW: Feststellen, wer datei geändert hat?
07.04.2006 14:07:30
Ewald
Hallo Andreas.
Diese API-Deklaration in den allgemeinen Deklarationsabschnitt eines Moduls eintragen,
Bei Aufruf der Procedure "NameSchreiben" sollte in der Variable "username" der bei der Windowsanmeldung eingetragene Benutzername erscheinen.
Viel Spass
Ewald

Public Declare Function GetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Public username As String

Sub NameSchreiben
Dim rueckgabe as long
Dim Puffer As String * 256
rueckgabe = GetUserName(Puffer, Len(Puffer))
If rueckgabe <> 0 Then
username = LCase(Left$(Puffer, InStr(1, Puffer, vbNullChar) - 1))
End If
End Sub

Anzeige
AW: Username
ransi
Hallo
den Usernamen bekommst du auch so:
Msgbox VBA.environ("Username")
ransi
AW: Feststellen, wer datei geändert hat?
07.04.2006 14:29:51
Andreas
Hi,
ich habe das ganze mal so eingetragen, allerdings wie kann ich diese Routine starten,d amit ich den Namen abrufen kann? Wenn ich es im VBA-Editor ausführe kann ich nichts sehen, auß0er dass es offensichtlich läuft. Sorry aber ich bin nicht so der VBA Crack :-(.
Gruss Andreas
AW: Feststellen, wer datei geändert hat?
07.04.2006 16:19:59
Markus
falls du Interesse einer Lösung ohne VBA hast, stell die Ordner-Ansicht auf "Details" und füge den "Eigentümer" hinzu. Dann siehst du bevor du Excel öffnest, wer der letzte in der Datei war.
Gruß
Markus
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige