Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1528to1532
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
Inhaltsverzeichnis

Kopie speichern zulassen

Kopie speichern zulassen
01.12.2016 14:40:11
MB12
Hallo zusammen,
In „diese Arbeitsmappe“ der Datei FS 8.0
habe ich folgenden Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Application.UserName = "Adam, Anton" Then Exit Sub
If Application.UserName = "Berta, Birgit" Then Exit Sub
MsgBox "Das Original darf nicht verändert werden; bitte als Kopie speichern!"
Cancel = True
End Sub
Datei unter anderem Namen speichern geht aber nicht. Wie muss ich den Code anpassen?
Danke schön für eure Hilfe
Gruß, Margarete

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopie speichern zulassen
01.12.2016 15:01:19
Fennek
Hi Maggi,
wieso geht nicht so etwas wie:

iPath = ThisWorkbook.Path & "\"
ActiveWorkbook.SaveAs iPath & "2_" & activeworkbook.Name
ActiveWorkbook.Close 0
mfg
AW: Kopie speichern zulassen
01.12.2016 15:13:39
MB12
Hi Fennek,
dank dir schön, aber das trifft es nicht ganz.
Hintergrund: Die Originaldatei soll jederzeit von den aufgelisteten Mitarbeitern geändert werden können. (Enthält Unmengen von Formularen/Vordrucken usw.)
Alle anderen sollen Einträge vornehmen, filtern, sortieren, löschen, drucken usw. können, dürfen aber die Änderungen nur als Kopie in einem Ordner ihrer Wahl speichern.
Bitte denk an meinen VBA-Level ....
Gruß, Margarete (Maggie)
Anzeige
AW: Kopie speichern zulassen
01.12.2016 19:02:49
Uduuh
Hallo,
SaveAsUI gibt an, ob "Speichern unter" gewählt wurde oder einfach "Speichern".
Weiterhin würde ich statt Application.Username Environ("Username") nehmen, da das der Windows-Anmeldename ist und nicht einfach geändert werden kann.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Not SaveAsUI Then
Select Case LCase(Environ("username"))
Case "anton.adam", "birgit.berta" 'Anmeldename in Kleinbuchstaben
'alles gut
Case Else
MsgBox "Das Original darf nicht verändert werden; bitte als Kopie speichern!"
Cancel=True
End Select
End If
End Sub

Gruß aus’m Pott
Udo

Anzeige
genau das habe ich mir vorgestellt,...
01.12.2016 19:41:58
MB12
.. Udo, herzlichen Dank.
Der Schreibschutz soll wirklich nur dazu dienen, die Datei vor unabsichtlichem speichern zu schützen. Unser Team (Adam, Berta, Cäsar) geht sowieso nie in die veröffentlichte Datei, sondern ins Original auf unserem Server. Von dort aus wird dann die öffentliche per Makro angepasst.
Schönen Abend noch,
Gruß, Margarete
AW: Kopie speichern zulassen
01.12.2016 15:54:29
Fennek
Hi,
da ich meistens nur Themen annehme, die für mich neu und lehrreich sind, sind viele Code nicht ausgereift.
Zwei Variante habe ich gefunden:
Da die gemeinsamen Dateien aus dem Netzwerk sind, aber der Standard-speicherort auf der Festplatte, geht der erste code, aber der User merkt nicht, wohin er speichert (es gibt sicher auch ein "Restrisiko":

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ThisWorkbook.SaveCopyAs CurDir & "\" & ThisWorkbook.Name
Cancel = True
End Sub
Sub test2()
iFile = Application.GetSaveAsFilename(filefilter:="xls-Dateien(*.xlsx),*.xlsx")
End Sub
In der zweiten Variante muss der User Name und Ort auswählen. (Vermutlich fehlt noch ein thisworkbook.saveas iFile
mfg
Anzeige
AW: vielen Dank,....
01.12.2016 19:43:21
MB12
...., Fennek, dass du mir helfen wolltest, weiß ich zu schätzen.
Liebe Grüße, Margarete

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige