Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Datei verschieben verhindern

Datei verschieben verhindern
18.11.2005 17:41:08
tina
Hallo,
ich habe ein problem.
Und zwar:
Ich habe einen Urlaubsplan für die Kollegen bereit gestellt.
Jeder soll seinen Urlaub eintragen und sehen können wer wann Urlaub nehmen möchte.
Nun kommt es häufiger vor, dass die Anwender die Datei versehentlich in einen anderen Ordner verschieben.
Kann mann dieses irgendwie unterbinden?
Vielen Dank für Eure Hilfe
Gruss Tin@
Ne Rückmeldung ist immer gut. ;)
Anzeige

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei verschieben verhindern
18.11.2005 17:46:25
Matthias
Hallo Tina,
wie wäre es, wenn du die Datei selbst irgendwo im Verzeichnisbaum "vergräbst" und den Kollegen nur eine Verknüpfung zur Datei zur Verfügung stellst (z.B. auf dem Desktop)?
Gruß Matthias
AW: Datei verschieben verhindern
18.11.2005 17:56:02
tina
Hi Matthias,
das habe ich getan.
Aber durch absolvieren eines Office Kurses, kennt jeder die Möglichkeit über Arbeitsplatz, Laufwerk auswählen usw. den Weg zur Datei.
Und dabei passiert es *grummel*
Kann mann das nicht evtl. über VBA ausschalten, das Verschieben?
Weiterhin vielen Dank für Eure Hilfe
Gruss Tin@
Ne Rückmeldung ist immer gut. ;)
Anzeige
AW: sry, vergessen. noch offen
18.11.2005 17:56:40
tina
Gruss Tin@
Ne Rückmeldung ist immer gut. ;)
AW: sry, vergessen. noch offen
18.11.2005 18:18:42
Frank
Hallo Tina,
so wie Du es beschreibst wird die Datei vorsätzlich verschoben. Ich kenne wenige Anwender, die sich die Mühe machen, eine verlinkte Datei über die Ordnerstruktur direkt zu suchen (und dann noch zu verschieben)!
Ein Lösungsvorschlag:
Je nach Dateisystem des Servers muss Du mit den Zugriffsrechten "spielen". Wenn Du den Anwendern auf einem NTFS Laufwerk zum Beispiel das Recht zum Löschen entziehst, können die Anwender sich selbst zwar eine Kopie der Datei ziehen, die Originaldatei bekommen sie aber so nicht weg!
Gruß Frank.
Anzeige
AW: sry, vergessen. noch offen
18.11.2005 20:04:33
Bernd
hi tina,
alles per vba:
versuch mal in der worbook open auszulesen, in welchem pfad sich die datei befindet.
wenn der pfad korrekt ist, dann mach nichts.
wenn der pfad nicht korrekt ist, schreibe in einer variablen den pfad, speichere die mappe unter korrektem namen und pfadangabe, lösche die falsche mappe (den pfad haste ja in einer variablen.
sollte klappen, wenn ich mich nicht irre.
(ich werde da mal ein code zusammen basteln, könnte aber bis morgen dauern, weil ich heute noch was vor habe, *prost :-)*
aber vielleicht kann dazu ein VBA profi stellung nehmen.
gruss aus dem schönen Hamburg
Bernd
Rückmeldung wäre nett
Anzeige
AW: sry, vergessen. noch offen
18.11.2005 20:21:15
Matthias
Hallo Bernd,
gute Idee:
In DieseArbeitsmappe

Private Sub Workbook_Open()
Const pfadname = "D:\hier.xls"
Dim oldpfad As String
oldpfad = UCase(ThisWorkbook.FullName)
If oldpfad <> UCase(pfadname) Then
If Dir(pfadname) = "" Then
'Originaldatei nicht vorhanden, dann hierhin speichern
ThisWorkbook.SaveAs pfadname
'verschobene Datei löschen
Kill oldpfad
MsgBox "Datei wurde an ihren alten Platz verschoben."
Else
'Originaldatei vorhanden, dann diese Datei löschen
With ThisWorkbook
.Saved = True
.ChangeFileAccess xlReadOnly
.IsAddin = True 'ausblenden
End With
Kill oldpfad
MsgBox "Bitte die Datei im Originalpfad verwenden!"
If Workbooks.Count > 1 Then
ThisWorkbook.Close False
Else
ThisWorkbook.Saved = True
Application.Quit
End If
End If
End If
End Sub

Problem ist nur, wenn die kopierte Datei aktueller ist als die Originaldatei...
Gruß Matthias
Anzeige
AW: sry, vergessen. noch offen
18.11.2005 21:20:00
HansH
Moin Matthias, Gruß an den Ideengeber Bernd,
ich habe selbst großes Interesse an diesem Thema. Habe nun alles Mögliche mit "speichern unter", über Explorer mit "kopieren", also eine Menge Varianten ausprobiert. Dei Code ist genial. Deine Einschränkung am Ende konnte ich bisher nicht nachvollziehen. Hoffe tina ist auch geholfen.
Gruß
HansH
Anzeige
AW: sry, vergessen. noch offen
18.11.2005 21:24:42
Matthias
Hallo Hans,
Deine Einschränkung am Ende konnte ich bisher nicht nachvollziehen.
Naja, wenn die Datei kopiert wird und die kopierte Datei aktualisiert wird, am Ende parallel dazu von anderen Mitarbeitern die Originaldatei auch noch, dann kann man schwer entscheiden, welche Datei denn nun die "richtigen" Daten enthält und welche gelöscht werden soll.
Gruß Matthias
Anzeige
AW: sry, vergessen. noch offen
18.11.2005 21:54:33
HansH
Hallo Matthias,
ich denke mal, immer die Datei die ordnungsgemäß dort gespeichert ist, wo sie hingehört, ist maßgeblich. Tina hatte ja gesagt, dass alle einen entsprechenden Kurs absolviert haben. Und damit wurde wohl alles unternommen ein versehentliches verschieben in einen anderen Ordner zu verhindern. Wenn also jeder die Möglichkeit kennt was er ändern kann (Laufwerk, Pfade), dann sollte man annehmen, dass eine Abweichung bewusst vorgenommen wurde. Also aus Versehen ist das kaum möglich. Im Zweifelsfall sollte jeder wissen, das die Datei im Originalpfade gilt. Aber das wäre dann disziplinarisch oder wenn vorhanden mit dem Betriebsrat zu regeln.
Gruß
Hans
Anzeige
AW: sry, vergessen. noch offen
18.11.2005 22:26:09
tina
hi Matthias, Hans, Frank und Bernd,
vielen, vielen Dank für die Idee an Bernd und die schnelle Umsetzung an Matthias.
Der Code ist in der tat genial. Funktioniert super.
Danke, danke , danke.
Ihr habt mir alle sehr geholfen.
Gruss Tin@
Ne Rückmeldung ist immer gut. ;)
AW: sry, vergessen. noch offen
18.11.2005 22:38:29
HansH
Freut mich für Tina!
aber so ist das mit excel: ich hab die Datei grade mal manipuliert, nichts!!! ist sicher - wie immer mit Excel. Da würde nur wirklich ein AnwenderInnenprotokoll helfen. Aber die entscheidenden Daten sind je nach Version auch kaum abzufragen und auch missbräuchlich. Mit deinem Code komme ich an meinem Firmenstandort super klar. Wie wohl auch Tina.
Gruss und Schluss
Hans
Anzeige
genau so habe ich es mir gedacht :-) o.t.
19.11.2005 10:35:33
Bernd
gruss aus dem schönen Hamburg
Bernd
Rückmeldung wäre nett
AW: genau so habe ich es mir gedacht :-) o.t.
19.11.2005 12:29:29
Matthias
Hi Bernd,
Gruß aus Franken (das war die gewünschte Rückmeldung ;-)
Matthias
AW: Datei verschieben verhindern
18.11.2005 18:19:01
HansH
Hallo Tin@,
es gibt doch noch einen kleinen Rest von DOS unter Zubehör. Mit attrib gab es eine Menge Möglichkeiten. Bin aber selbst nicht mehr up to date und kenne nicht mehr alle Parameter. Vielleicht weiß ein netter Mensch noch alles und kann helfen. Ich kenne im Moment nur noch Lese-, Schreib- und Versteckparameter.
Deshalb weiter offen
Gruß
Hans
Anzeige
AW: Datei verschieben verhindern
18.11.2005 18:26:30
Frank
Hallo Matthias, hallo Tina,
Attrib ist der falsche Weg, weil Du damit den Schreibschutz (Read Only) aktivieren müsstest. Damit könnten die Anwender aber ihre Urlaubsdaten nicht eintragen!
Also weiterhin: siehe vorherigen Tipp von mir!
Gruß Frank.
AW: Datei verschieben verhindern
18.11.2005 18:31:27
Matthias
Hallo Frank,
versuch mal, mit diesen Einstellungen (löschen untersagt) eine Excel-Datei zu öffnen, zu ändern und zu speichern.
Leider ist es so, dass beim Speichern erst die neue Datei mit Kryptischen Namen (Buchstaben und Ziffern, ohne Dateiendung) geschrieben wird, dann die alte Datei gelöscht wird und anschließend die Kryptische in den alten Dateinamen umbenannt wird. Das Löschen klappt nicht, dann bringt Excel einen Fehler beim Speichern.
Deshalb wird dein Vorschlag leider keinen Erfolg haben.
Gruß Matthias
Anzeige
AW: Datei verschieben verhindern
18.11.2005 18:44:01
Frank
Hallo Matthias,
das kann ich erst am Montag prüfen. Wenn Deine Theorie, die ich prinzipiell durchaus nachvollziehen kann, auch für freigegeben Excel-Arbeitsmappen gilt, würde mich das stark wundern. Wie löscht Excel die Datei, wenn 2 User eine Arbeitsmappe geöffnet haben und beide zu unterschiedlichen Zeitpunkten spichern? Wie gesagt, Microsoft macht vieles möglich aber ich kann das erst am Montag prüfen!
Für Dich, Tina, hat es sicherlich auch bis Montag Zeit, da Deine bösen Kollegen ja am Wochenende die datei wohl eher weniger oft verschieben! ;-)
Gruß Frank.
Anzeige
AW: Datei verschieben verhindern
18.11.2005 18:51:22
Matthias
Hi Frank,
von freigegebenen Arbeitsmappen habe ich nicht gesprochen.
Damit kenne ich mich nicht aus.
Ich wollte aber mal verhindern, dass Anwender eine Excel-Datei löschen können (im Datei-Explorer), sie aber die Datei öffnen, ändern und speichern können.
Ist mir bis heute nicht gelungen :-(
Gruß Matthias
Anzeige
AW: Herzliche Grüße
HansH
warum antwortest Du auf meinen Beitrag und grüß mich nicht ?
AW: Herzliche Grüße
21.11.2005 08:35:23
Frank
Hallo HansH,
sorry, war in Zeitnot und da ist es halt passiert. Ich gelobe Besserung!
Gruß Frank.
AW: Datei verschieben verhindern
18.11.2005 20:05:49
Bernd
hi tina,
alles per vba:
versuch mal in der worbook open auszulesen, in welchem pfad sich die datei befindet.
wenn der pfad korrekt ist, dann mach nichts.
wenn der pfad nicht korrekt ist, schreibe in einer variablen den pfad, speichere die mappe unter korrektem namen und pfadangabe, lösche die falsche mappe (den pfad haste ja in einer variablen.
sollte klappen, wenn ich mich nicht irre.
(ich werde da mal ein code zusammen basteln, könnte aber bis morgen dauern, weil ich heute noch was vor habe, *prost :-)*
aber vielleicht kann dazu ein VBA profi stellung nehmen.
gruss aus dem schönen Hamburg
Bernd
Rückmeldung wäre nett
Anzeige
AW: Datei verschieben verhindern
18.11.2005 20:20:41
tina
Hi an alle lieben Helfer,
es ist super wie Ihr mir helfen wollt, vielen lieben Dank.
ich werde mich dann mal bis morgen, bzw. Montag gedulden und auf eine positive Antwort hoffen.
Schönes Wochenende bis dahin und ich lasse die Frage solange auf offen.
Gruss Tin@
Ne Rückmeldung ist immer gut. ;)
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Datei verschieben verhindern in Excel


Schritt-für-Schritt-Anleitung

Um zu verhindern, dass eine Excel-Datei versehentlich verschoben wird, kannst Du eine VBA-Lösung implementieren. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne die Excel-Datei, die Du schützen möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Wähle im Projektfenster links DieseArbeitsmappe aus.

  4. Füge den folgenden VBA-Code in das Codefenster ein:

    Private Sub Workbook_Open()
       Const pfadname = "D:\hier.xls" ' Den gewünschten Speicherort anpassen
       Dim oldpfad As String
       oldpfad = UCase(ThisWorkbook.FullName)
       If oldpfad <> UCase(pfadname) Then
           If Dir(pfadname) = "" Then
               ThisWorkbook.SaveAs pfadname
               Kill oldpfad
               MsgBox "Datei wurde an ihren alten Platz verschoben."
           Else
               With ThisWorkbook
                   .Saved = True
                   .ChangeFileAccess xlReadOnly
                   .IsAddin = True
               End With
               Kill oldpfad
               MsgBox "Bitte die Datei im Originalpfad verwenden!"
               If Workbooks.Count > 1 Then
                   ThisWorkbook.Close False
               Else
                   ThisWorkbook.Saved = True
                   Application.Quit
               End If
           End If
       End If
    End Sub
  5. Schließe den VBA-Editor und speichere die Excel-Datei.

  6. Teste den Schutz, indem Du versuchst, die Datei zu verschieben.


Häufige Fehler und Lösungen

  • Fehler: "Der Pfad ist nicht verfügbar."

    • Überprüfe, ob der angegebene Pfad im Code korrekt ist. Möglicherweise musst Du den Pfad anpassen, um sicherzustellen, dass die Datei dort gespeichert werden kann.
  • Fehler: Datei kann nicht gespeichert werden.

    • Stelle sicher, dass Du über die notwendigen Berechtigungen verfügst, um in das angegebene Verzeichnis zu speichern. Überprüfe auch, ob die Datei möglicherweise von einem anderen Benutzer geöffnet ist.

Alternative Methoden

Falls VBA nicht die gewünschte Lösung bietet, gibt es auch alternative Methoden, um eine Excel-Datei vor dem Verschieben zu schützen:

  • Zugriffsrechte anpassen:

    • Über die Datei- und Ordnersicherheit kannst Du den Benutzern das Recht zum Löschen entziehen, sodass sie die Datei zwar öffnen und bearbeiten, aber nicht verschieben können.
  • Verknüpfung nutzen:

    • Lege eine Verknüpfung zur Excel-Datei auf dem Desktop oder in einem anderen Ordner an, sodass die Originaldatei im Verzeichnisbaum nicht direkt erreichbar ist.

Praktische Beispiele

  • Beispiel für einen Pfad in VBA:

    Const pfadname = "C:\Users\DeinBenutzername\Documents\Urlaubsplan.xlsx"
  • Beispiel für die Verwendung von Berechtigungen:

    • In den Eigenschaften des Ordners kannst Du unter "Sicherheit" die Berechtigungen für die Benutzer anpassen.

Tipps für Profis

  • Regelmäßige Backups:

    • Stelle sicher, dass Du regelmäßige Backups von wichtigen Excel-Dateien machst. Dies schützt nicht nur vor versehentlichem Verschieben, sondern auch vor Datenverlust.
  • Schutz durch Passwort:

    • Du kannst die Excel-Datei zusätzlich mit einem Passwort schützen, um unbefugte Änderungen oder Löschungen zu verhindern.

FAQ: Häufige Fragen

1. Kann ich die Datei auch ohne VBA schützen? Ja, Du kannst die Datei durch das Anpassen der Zugriffsrechte auf dem Server schützen, sodass Benutzer sie nicht löschen oder verschieben können.

2. Was passiert, wenn ich die Excel-Datei in einen anderen Ordner verschiebe? Wenn Du den VBA-Code implementiert hast, wird die Datei automatisch an den gewünschten Speicherort zurückverschoben, sobald Du versuchst, sie zu öffnen.

3. Ist der Code auch in Excel 365 anwendbar? Ja, der bereitgestellte VBA-Code funktioniert auch in Excel 365. Achte jedoch darauf, dass Makros in den Excel-Einstellungen aktiviert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige