Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge

Im Word-Makro AutoExec herausfinden, wie Word gestartet wurde

a.nonyma / 7 Antworten / Baumansicht Nickles

Hallo,

kann ich im Word-Makro AutoExec (wird beim Start von Word automatisch ausgeführt) feststellen, ob Word mit einem neuen (Doppelklick auf Word) oder einem bereits vorhandenen Dokument (Doppelklick auf ein Dokument) gestartet wurde? Wenn ja, wie? Ein Dokument wird zu diesem Zeitpunkt ja noch nicht angezeigt...

Danke für Tips :-)

A.Nonyma

bei Antwort benachrichtigen
Borlander a.nonyma „Im Word-Makro AutoExec herausfinden, wie Word gestartet wurde“
Optionen

Kurzer Blick in die VBA-Hilfe zum Stichwort AutoExec verrät:
Beim erstrellen eines neuen Dokumentes kommt das Makro AutoNew, beim Öffnen eines Dokumentes das Makro AutoOpen zum Einsatz. Damit sollte sich dann doch alles gewünschte realisieren lassen?

Soll das ganze auf den Vorgang beim Starten von Word beschränkt werden würde ich einfach folgendes machen:
Globale Bool-Variable mit Wert Voreingestelltem true, die kann denn in den beiden oben genannten Makros zurückgesetzt werden nachdem das erst mal die gewünschte Funktionalität ausgeführt wurde...


Gruß
Borlander

bei Antwort benachrichtigen
a.nonyma Borlander „Kurzer Blick in die VBA-Hilfe zum Stichwort AutoExec verrät: Beim erstrellen...“
Optionen

Hallo Borlander,

leider läßt sich damit nicht alles realisieren. Mein ursprüngliches Problem war eigentlich, den Zoom für jedes Dokument auf Seitenbreite einzustellen, was aber beim Start von Word mit einem neuen Dokument nicht funktioniert :-( Denn AutoNew wird beim standardmäßig angelegten Dokument1 offenbar nicht ausgeführt. Deshalb lege ich als Workaround in AutoExec ein neues Dokument (ebenfalls Dokument1) an, was jedoch beim Start mit einem bereits vorhandenen Dokument zusätzlich angezeigt wird. Wenn ich das hier überflüssige Dokument1 in AutoOpen wieder schließe, führt das zu einem unschönen Flackern, da offensichtlich der Fokus zwischen Dokument1 und XYZ.doc mehrfach wechselt.

Wenn ich zum Zeitpunkt AutoExec wüßte, ob ich mit einem vorhandenen Dokument starte oder nicht, könnte ich mein eigenes Dokument1 nur im zweiten Fall anlegen lassen...

Viele Grüße

A.Nonyma

bei Antwort benachrichtigen
Borlander a.nonyma „Hallo Borlander, leider läßt sich damit nicht alles realisieren. Mein...“
Optionen
was aber beim Start von Word mit einem neuen Dokument nicht funktioniert :-(
Das sollte mit den selben einstellungen wie das letzte Dokument angezeigt werden, d.h. die Einstellung wird entweder in der Registry oder in der Normal.dot gespeichert. Somit sollte sich ein Verändern dieses Wertes auch verhindern lassen...

Wenn ich zum Zeitpunkt AutoExec wüßte, ob ich mit einem vorhandenen Dokument starte oder nicht, könnte ich mein eigenes Dokument1 nur im zweiten Fall anlegen lassen...
Lässt sich evtl. der Befehlsstring mit dem Word gestartet wurde bzw. die Kommandozeilenparameter auslesen?


Gruß
Borlander
bei Antwort benachrichtigen
a.nonyma Borlander „ Das sollte mit den selben einstellungen wie das letzte Dokument angezeigt...“
Optionen

Wenn ich beim letzten Dokument den Zoom manuell verstelle, so wird beim nächsten Word-Start dieser Wert wieder verwendet - unabhängig davon, ob das Dokument gespeichert wurde oder nicht. Ich habe noch keinen Trick gefunden, wie ich das verhindern kann, ohne selbst per Makro ein neues Dokument1 zu erzeugen und dafür meinen gewünschten Wert einzustellen. Denn beim Schließen des Dokuments wird ein geänderter Zoom (im Gegensatz zu anderen Einstellungen) leider nicht gespeichert. Für mich selbst wäre das Ganze natürlich kein Problem, aber meine Eltern, beide über 80, nutzen Word und sind bei (versehentlich) verstellten Einstellungen ziemlich aufgeschmissen... Nach diversen Telefonkonferenzen möchte ich deshalb die Standard-Einstellungen per Makro immer wieder herstellen, um ihnen die gewohnte Arbeitsoberfläche dauerhaft zu gewährleisten. Da ich zwar Programmiererin bin, mich aber mit Word-Makroprogrammierung wenig und der Programmierung von Windows gar nicht auskenne, muß ich halt das, was ich in der Hilfe nicht finde, hier fragen. Deshalb weiß ich auch nicht, wo und wie ich den Befehlsstring oder die Kommandozeilenparameter auslesen kann :-( Sonst hätte ich das mit Sicherheit schon probiert :-)

Ich bin leider auch in der Registry nicht so fit, daß ich weiß, wo ich diesen Eintrag suchen sollte. Denn die Suche nach Word liefert eine unüberschaubare Menge Antworten, so daß ich ohne Kenntnis des Schlüssels keine Chance habe, den richtigen Eintrag zu finden...

Viele Grüße

A.Nonyma

[Diese Nachricht wurde nachträglich bearbeitet.]

bei Antwort benachrichtigen
Borlander a.nonyma „Wenn ich beim letzten Dokument den Zoom manuell verstelle, so wird beim...“
Optionen
Denn beim Schließen des Dokuments wird ein geänderter Zoom (im Gegensatz zu anderen Einstellungen) leider nicht gespeichert.
Kam mit gerade so die Idee: Könnte man den Zoom nicht evtl. in den Benutzerdefinierten Eigenschaften speichern? (wie hab ich natürlich keine Ahnung ;-) )

Da ich zwar Programmiererin bin, mich aber mit Word-Makroprogrammierung wenig und der Programmierung von Windows gar nicht auskenne, muß ich halt das, was ich in der Hilfe nicht finde, hier fragen.
Gut das zu wissen, wobei ich allerdings zugeben muß das VBA auch nicht zu meinen Lieblingsgebieten gehört - die Dokumentation in MSO dazu ist leider auch recht schlecht :-\

Ich bin leider auch in der Registrybild nicht so fit, daß ich weiß, wo ich diesen Eintrag suchen sollte. Denn die Suche nach Word liefert eine unüberschaubare Menge Antworten, so daß ich ohne Kenntnis des Schlüssels keine Chance habe, den richtigen Eintrag zu finden
Für diesen Zweck würde ich es mit dem Tool RegView (bin mir beim Namen nicht ganz sicher) von sysinternals.com probieren und entsprechende Filtern lassen. Wenn sollte sowas aber unter HKEY_CURRENT_USER\Software\Microsoft\Office\{%MSO-Version%}\Word gespeichert werden...

Hast Du ansonsten schon probiert die normal.dot mit Schreibschutz zu versehen?


Gruß
Borlander
bei Antwort benachrichtigen
a.nonyma Borlander „ Kam mit gerade so die Idee: Könnte man den Zoom nicht evtl. in den...“
Optionen

Ich glaube kaum, daß der Zoom in der Normal.dot gespeichert wird. Ich arbeite nämlich grundsätzlich mit der Einstellung, daß mich Word beim Schließen fragen muß, ob Änderungen in der Normal.dot gespeichert werden sollen. Das entsprechende Popup kommt bei verändertem Zoom nicht.

Daß die Doku einen immer dann im Regen stehen läßt, wenn man sie ganz dringend bräuchte, trifft leider für fast jede Software zu :-( Bei der VBA-Doku habe ich mich vor allem darüber geärgert, daß sie zwar noch alle Konstanten auflistet, die für eine Eigenschaft ausgewählt werden können, aber bei der Bedeutung dann fröhliches Rätselraten angesagt ist...

In den Optionen habe ich noch nie eine Einstellung gefunden, wo man einen Zoom voreinstellen könnte, obwohl ich das Ding schon ziemlich oft nach irgendwas abgesucht habe.

Ich werde mich aber auf jeden Fall mal nach dem Tool umschauen. Hoffentlich funktioniert es auch unter Windows 98, weil der PC meiner Eltern noch dieses Betriebssystem hat.

Vielen Dank!

A.Nonyma

bei Antwort benachrichtigen
Bitsqueezer a.nonyma „Ich glaube kaum, daß der Zoom in der Normal.dot gespeichert wird. Ich arbeite...“
Optionen

Hallo zusammen,

geht doch, in der Normal.dot. Guckst Du hier:

http://mypage.bluewin.ch/reprobst/WordFAQ/SSchrift.htm

Viele Grüße

Christian


bei Antwort benachrichtigen