Autor
|
Thema: Dateieigenschaft Last Author ändern/unterdrücken (2341 mal gelesen)
|
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 21. Mrz. 2007 13:53 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, in ThisWorkbook.BuiltinDocumentProperties(7) verbirgt sich der "Last Author", also der letzte Bearbeiter der Mappe. Der Wert ist mein Benutzername . Bei jedem Speichern wird er wieder eingetragen (der Wert ist nicht schreibgeschützt - er läßt sich innerhalb einer sub beliebig ändern). Ist die Datei geschlossen, kann man über r.M. - Dateiinfo - Zuletzt gespeichert von nachsehen, wer da die Finger dran hatte. Kann man das irgendwie ändern? ------------------ Gruß, Frederik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 21. Mrz. 2007 19:59 <-- editieren / zitieren --> Unities abgeben: Nur für Paulchen
|
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 22. Mrz. 2007 09:08 <-- editieren / zitieren --> Unities abgeben:
Naja... Flexibel halt?! Ich möchte die Mappe "normal" bearbeiten können und möglichst gar nix davon merken. Irgendwann will ich sie dann an "Dritte" weitergeben, die nicht unbedingt wissen müssen, wer da vorher dran war. Kann natürlich sein, daß -wie so oft- nachträglich noch was geändert werden muß ;-). Dann muß ich da nochmal 'ran - möglichst ohne alles frisch aufzubohren. Ganz toll fände ich, wenn da wahlweise nix -also ""- oder z.B. "Schnitzel" drin stehen würde. Dann wäre die Mappe weitestgehend "anonym" (sofern ich da nichts Wesentliches übersehen habe?). ------------------ Gruß, Frederik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Oberli Mike Ehrenmitglied V.I.P. h.c. Dipl. Maschinen Ing.
Beiträge: 3728 Registriert: 29.09.2004 Excel 2010 128GB SSD Windows 7
|
erstellt am: 22. Mrz. 2007 09:24 <-- editieren / zitieren --> Unities abgeben: Nur für Paulchen
Hallo Paulchen, Hier mal ein kleines Makro, ev. hilft es dir. *************************** Benutzername = Application.UserName 'Auslesen Benutzername Application.UserName = "Schnitzel" ' Überschreiben Benutzername ActiveWorkbook.Save ' Speichern (kann sicher verbessert werden) Application.UserName = Benutzername ' Zurückschreiben des Benutzernamens a = ThisWorkbook.BuiltinDocumentProperties(7) 'Auslesen letzer Autor MsgBox (a) ' Ausgeben letzer Autor *************************************************** Gruss Mike ------------------
The Power Of Dreams Schreib mal wieder Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 22. Mrz. 2007 10:20 <-- editieren / zitieren --> Unities abgeben:
Hey Mike , DANKE! für den Schubser in die richtige Richtung! Bei Deiner Version wird die (7) - zuletzt gespeichert - ordentlich überpinselt. Jetzt hatte ich noch das Problem mit dem Author (3). Das läßt sich aber ja sogar von außen beheben. Also: Datei erstellen, bearbeiten etc. und vor dem finalen Speichern mal schnell das Makro loslassen; anschließend natürlich den UserName wieder zurückschreiben. Hier mal eine Variante mit etwas Komfort Code: Private Sub AnoRufen()'zu Testzwecken MappeAnonym " " End Sub Private Sub MappeAnonym(Optional strFake As String) 'Ändert den Namen für "Zuletzt gespeichert" in strFake. Soll "Zuletzt gespeichert" LEER sein, ' so MUSS " " für strFake eingegeben werden; ansonsten erscheint der LoginName (Netzwerkanmeldung). ' Einfaches weglassen von strFake oder "" scheitert!!! Dim strUN As String 'UserName strUN = Application.UserName 'Auslesen Application.UserName = strFake 'Überschreiben ThisWorkbook.Save 'Speichern Application.UserName = strUN 'Zurücksetzen MsgBox "Autor: " & ThisWorkbook.BuiltinDocumentProperties(3) & vbCrLf _ & "Zuletzt gespeichert: " & ThisWorkbook.BuiltinDocumentProperties(7) End Sub
Autor ist wohl der zum Zeitpunkt der Erstellung eingetragene Benutzername. Wer mag, kann ja mal ein wenig mit verschiedene strFakes 'rumspielen...Fazit: Dein Makro entsprechend angepaßt liefert das gewünschte Ergebnis! (Die Variable a kann man "sparen" .) Hätte ich auch von selbst draufkommen können , aber so ist das halt manchmal mit dem Wald und den Bäumen... ------------------ Gruß, Frederik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |