mtriebler
Goto Top

Mit VBA Makrosicherheit ändern

Problem: Verändern der Makrosicherheit der geöffneten Word-Datei mit VBA ??
(oder löschen des laufenden Makros ??)

Die Aufgabenstellung ist folgende:

Mit einem Makro wird bewirkt, daß Anwender, die nicht fit sind in Windows ihre Dokumente in einheitlicher Form (Dateinamen) ins richtige Verzeichnis speichern, wo sie später weiter bearbeitet werden können.

Lösung, so weit ich gekommen bin:

Das Dokument wird geöffnet. Mit InputBox() werden in Autoopen() 2 Informationen abgefragt (Schreiber bzw. Topic und das Datum, das im Dateinamen erscheinen soll).
Diese Daten werden auch ins Dokument übernommen (weil sie da gebraucht werden)

Dann wird das Dokument sofort mit Ursprungsnamen, ergänzt um die beiden Informationen, ins Zielverzeichnis gespeichert. Jetzt steht es für weitere Bearbeitung zur Verfügung.
Das Ausgangsdokument bleibt unverändert.

Problem, noch nicht gelöst:

Beim Öffnen der erzeugten Datei startet Autoopen() logischerweise wieder. Das ist überflüssig, und wenn die Anwender nicht sofort "Abbrechen" anklicken, besteht die Gefahr die alten Werte zu überschreiben.

Also möchte ich, daß Autoopen in der zweiten Datei

- entweder nicht mehr ausgeführt wird ( wenn das irgendwie geht)
- oder verschwindet. (Es schadet nichts, wenn das Makr jetzt abbricht. Hauptsache, die Anwender landen im Word-Dokument)

Gibts da eine Lösung?

mtiebler

Content-Key: 121342

Url: https://administrator.de/contentid/121342

Printed on: April 26, 2024 at 13:04 o'clock

Mitglied: 76109
76109 Jul 26, 2009 at 09:52:02 (UTC)
Goto Top
Hallo mtriebler!

Dann füge doch einfach in Autoopen einen Test ein, der prüft, ob das Document bereits eine Dateinamenserweiterung enthält.

So in der Art:
if IsDate(Right(ThisDocument.Name, 10)) Then Exit Sub

Gruß Dieter
Member: miniversum
miniversum Jul 26, 2009 at 10:00:03 (UTC)
Goto Top
Möglichkeit 1:
Überprüfe im Sutoopen ob der Dateiname dem Namen der Vorlagendatei entspricht. Wenn nicht wird das Makro beendet.
Möglichkeit2:
Die informationen wirst du ja dneke ich, wenn sie auch im Dokument verwendet werden sollen, wahrhscienlich in Feldern hinterlegen (wenn dem nicht so ist gib bescheid). Du musst also nur in der Autoopen funktion diese Felder abfragen und kontrollieren ob ihnen bereits Werte zugewiesen wurden. Wenn ja wird das Makro beendet.
Member: mtriebler
mtriebler Jul 26, 2009 at 10:11:54 (UTC)
Goto Top
Herzlichen dank, alle Vorschläge helfen mir weiter mtriebler
Member: mtriebler
mtriebler Jul 26, 2009 at 10:12:35 (UTC)
Goto Top
Gute Idee, aber das datum wird per Hand eingegeben, da es nicht identisch sein muß mit dem Bearbeitungsdatum. (z.B. "Protokoll vom..."

Werde Deinen Rat aber befolgen bzw. variieren, indem ich abfrage, ob eine Zahl im Dateinamen vorkommt. Das müßte klappen. Danke
Mitglied: 76109
76109 Jul 26, 2009 at 10:32:04 (UTC)
Goto Top
Hallo mtriebler!

Das könntest Du mit Like sehr einfach überprüfen z.B.:
If ThisDocument.Name Like "*##.##.####*" Then Exit Sub

(#) steht für einen x-beliebigen numerischen Wert. Das Format entsprechend anpassen.

Gruß Dieter