VB6 - Word Änderungsschutz

Guten Tag

Ich versuche, folgendes Problem zu lösen:

Ich benutze VB6 und Word 2003. Beim Word kann man ja unter „Extras > Optionen > Sicherheit > Kennwort zum ändern“ ein Kennwort einfügen, damit man ein Dokument nur noch schreibgeschützt oder gar nicht mehr öffnen kann, sofern man das Passwort nicht besitzt.

Da ich bei ungefähr 25’000 Dokumenten mit einem Skript etwas ändern muss, stosse ich da auf Widerstand, denn bei einem solchen Dokument mit „Änderungspasswort“ erscheint ein Dialog (sobald ich mit Documents.Open versuche, das Dokument zu öffnen), welcher den ganzen Ablauf des Programms unterbricht.

Kennt hier jemand eine Lösung?

Ich danke bereits jetzt für jeden Hinweis.

freundliche Grüsse
Mario

Hallo, Mario!

Documents.Open kannst Du ja auch ein bzw. mehrere Passwörter mitgeben. Damit sollte der Dialog unterbleiben. Problematisch wird’s natürlich, wenn die Dateien nicht alle das gleiche oder ein unbekanntes Passwort haben.

Wenn Du ein ungeschütztes Dokument aufmachst und ein Passwort übergibst, sollte das Word egal sein.

Wenn Du ein falsches Passwort übergibst, wird Dir das mit einem Fehler 5408 quittiert.

Aufpassen: Wenn Du zwei (ggf. unterschiedliche) Passwörter für den Lese- und den Schreibzugriff definiert hast und nur das Lesepasswort übergibst, wirst Du noch mal gefragt, ob Du das Passwort für den Schreibzugriff eingibst oder das Dokument schreibgeschützt öffnen möchtest.

Wenn also die Passwörter für alle Deine Dokumente identisch sind: Übergib sie einfach mit. Wenn Du eine Auswahl an Passwörtern hast, versuche die Dokumente mit der ersten Variante zu öffnen; beim Fehler versuchst Du das nächste usw. Wenn Du natürlich das Passwort nicht kennst, hast Du gelitten…

Gruß, Manfred

Ich benutze VB6 und Word 2003. Beim Word kann man ja unter
„Extras > Optionen > Sicherheit > Kennwort zum
ändern“ ein Kennwort einfügen, damit man ein Dokument nur noch
schreibgeschützt oder gar nicht mehr öffnen kann, sofern man
das Passwort nicht besitzt.

Da ich bei ungefähr 25’000 Dokumenten mit einem Skript etwas
ändern muss, stosse ich da auf Widerstand, denn bei einem
solchen Dokument mit „Änderungspasswort“ erscheint ein Dialog
(sobald ich mit Documents.Open versuche, das Dokument zu
öffnen), welcher den ganzen Ablauf des Programms unterbricht.

Hi Mario,
das PW dient ja dazu daß man ohne PW nichts ändern kann.
Wenn du die Passwörter der Word-Dateien nicht kennst, hast du legal ein Problem mit deinem VB Script.

Illegal mag es möglich sein die Passwörter von Word-Dateien zu killen, aber das mutmaße ich nur, in Excel gehts ja auch easy.

Ansonsten, wenn dir das Passwort einer Word-Datei bekannt ist, so müßte es m.E. beim Öffnen der Datei möglich sein beim Open-Befehl das PW mitzugeben, sodaß der Dialog nicht erscheint.

In Excel-Vba ist das möglich, ich mutmaße sehr stark in Word-Vba auch, wie es mit VB aussieht weiß ich nicht.

Sorry, mehr weiß ich nicht zu deiner Anfrage.

Gruß
Reinhard

Danke zuerst an Reinhard und Manfred für eure Antworten

Die Passwörter sind mir unbekannt, da andere Personen die Dokumente mit Passwörtern versehen haben. Ist da der Dialog unumgänglich?

Das „schöne“ ist ja, dass ich beim Documents.Open zwar ein Passwort angeben kann, und es funktioniert auch, dass bei falschem PW der Fehler 5408 erscheint und bei ungeschützten Dokumenten gar nicht darauf eingegangen wird. Das wäre ja das Idealverhalten, so kann ich alles ohne Dialoge lösen. Aber sobald eine Person ein „Kennwort zum ändern“ definiert, erscheint genau der Dialog zur Passworteingabe, wo ich aber auch den Button „Schreibgeschützt“ klicken kann, um es so zu öffnen. Klicke ich bei diesem Dialog auf „Abbrechen“, macht mein VB-Skript weiter und bringt den Fehler 5408 :smile:

Nichts zu machen?

Danke für euren Einsatz

Hi, Mario!

Aber sobald eine Person ein „Kennwort zum ändern“ definiert,
erscheint genau der Dialog zur Passworteingabe, wo ich aber
auch den Button „Schreibgeschützt“ klicken kann, um es so zu
öffnen. Klicke ich bei diesem Dialog auf „Abbrechen“, macht
mein VB-Skript weiter und bringt den Fehler 5408 :smile:
Nichts zu machen?

Doch: Das Passwort für den Schreibschutz gibst Du ungefähre drei Parameter nach dem Passwort zum Öffnen mit. Insofern gilt das gleiche: Übergebe beide, ggf. mit Dummywerten, und Du untersrückst den Dialog und läufst ggf. in einen Fehler. Der entsprechende Parameter heißt „WritePasswordDocument“.

Gruß, Manfred

Hallo Manfred!

Danke, das war genau das was ich gesucht habe! Vielen Dank!

Gruss
Mario