Word 2010 soll original Datei als Kopie öffnen. Original Datei darf nicht verändert werden. Kann man so etwas mit VBA programmieren ?
3 Antworten
Wozu Makro?
Datei schreibschützen, der User muss sie dann unter neuem Namen und/oder Pfad speichern, wenn er sie bearbeitet erhalten will!
Wenn Du auch noch den Ordner schützt, kann er nicht einmal am Explorer die überschreiben (gibt ja so Spezialisten, die benennen die veränderte Datei zurück und überschreiben damit das Original im Verzeichnis; kann in Spezialfällen sogar sinnvoll sein, aber nicht für Jedermann)
Ansonsten kannst du mit einem Workbook_beforeclose das speichern-unter Dialogfeld aufrufen, ggf mit einer Vorgabe, die Du systematisch [Dateiname=links(Dateiname;Länge-2)&rechts(Dateiname;2)+1, das reicht für 100 Dateinamen, -3/;3 für 1000] kreierst.
(ebenfalls schreibgeschützt mit Bendef Passwort)
z.B. so:
Private Sub Document_Open()
Dim strPathAndFileName As String
strPathAndFileName = "Pfad\zur\Datei\Dok1.docm"
Documents.Add Template:=strPathAndFileName
Word.Application.Documents(strPathAndFileName).Close True
End Sub
Beim Speichern der geöffneten Kopie muss nur darauf geachtet werden, dass die Datei ohne Makros gespeichert wird (Klickt man auf speichern, kommt eine solche Abfrage, hier mit JA bestätigen).
Zu allererst speicherst du die Datei als makrofähiges Word-Document (Datei --> Speichern unter --> Word Dokument mit Makros). Dann Ändert sich die Dateiendung von z.B. .docx in .docm.
Dann öffnest du die Datei wieder (die mit .docm) und erlaubst (falls du gefragt wirst) Makros.
Drücke ALT+F11. öffne links in der Spalte "ThisDocument" und kopiere dort den Code hinein. Passe strPathAndFileName entsprechend an. Speichere die Datei ab.
Wenn du die Datei nun öffnest, öffnet sich nicht die Originale, sondern bereits eine Kopie.
Der Benutzer später muss nur darauf achten, dass wenn er diese KOPIE ausgefüllt abspeichert, die aufploppende Abfrage mit "JA" beantwortet, dann ist alles schick.
Den Code habe ich ganz normal in Word unter Alt F11 und habe dann eine Prozedur erstellt. Den Quellcode habe ich dort eingefügt und den Pfad abgestimmt.
Leider funktioniert das nicht. Habe es grad versucht. Wenn man die Datei öffnet darf man ruhig was reinschreiben, nur dann wenn man es speichern will muss eine Kopie erstellt werden, weil die Original Datei nicht verändert werden darf.
Poste mal dein Code und sag mir, wo du ihn hingeschrieben hast.
Die Datei öffnet sich automatisch direkt als Kopie und sollte den gleichen Inhalt wie die Originale Datei haben.
Ups... sorry, das sollte eigentlich ein KOmmentar werden :-/
Ein bisschen Kenntnisse mit VBA habe ich auch.