Verknüpfungen in Vorlagen

Ich habe eine Wordvorlage erstellt, in der mehrere Felder durch OLE-Verknüpfungen verbunden sind, damit in den abhängigen Feldern der gleiche Wert steht oder ein Kontrollkästchen auch angekreuzt ist. Leider funktionieren die abhängigen Felder nur in der Vorlage, aber einige nicht mehr, wenn ich über Datei

darauf selbst kann ich dir keine Antwort geben. Aber wie wäre es wenn man stattdessen in VBA eine UserForm erstellt wo der Nutzer die Dinge einträgt? Dort hat man die volle Kontrolle und überträgt zum Schluss die Daten ins Formular.

LG

Vielen Dank!
Leider habe ich damit noch nicht gearbeitet- auch sind meine Mitarbeiter damit gar nicht vertraut.
Ich mache es inzwischen einfach so, dass ich die Ausgangsdatei, unter der alle Verknüpfungen ja funktionieren, unter einem anderen Namen speichere. In der neuen Datei funktioniert auch alles.

Eine andere Frage entstand noch in dem Zusammenhang: Wie geht das mit dem Auslösen eines Makros? Zum Beispiel soll beim Ankreuzen eines Kontrollkästchens, der Kursor automatisch in ein bestimmtes Kästchen weiterspringen, da das Anspringen bestimmter Felder dazwischen unsinnig wäre.

Mit freundlichem Gruß!

Hallöchen KHS,

Vielen Dank!

Bitte

Leider habe ich damit noch nicht gearbeitet- auch sind meine
Mitarbeiter damit gar nicht vertraut.

das kann man ändern :wink:

Eine andere Frage entstand noch in dem Zusammenhang: Wie geht
das mit dem Auslösen eines Makros? Zum Beispiel soll beim
Ankreuzen eines Kontrollkästchens, der Kursor automatisch in
ein bestimmtes Kästchen weiterspringen, da das Anspringen
bestimmter Felder dazwischen unsinnig wäre.

Man nehme die Symbolleiste „Formular“ und erstelle die ganzen Felder, die benötigt werden und gebe ihnen eine „richtige“ Bezeichnung (Doppelklick auf das Element). Ich habe in meinem Beispiel das Textfeld, welches angesprungen werden sollte den Namen „Jahr“ vergeben und das, wo ich „anklicke“ soll „K1“ heißen.

Nun schreibst du ein Makro welches meinem ähnelt:

Sub Weitergehen()
If ActiveDocument.FormFields(„K1“).Result = 1 Then ActiveDocument.FormFields(„Jahr“).Select
End Sub

Die Zeilen „Sub“ und „End Sub“ sind die "Rahmenzeilen. Der Titel „Weitergehen“ kann natürlich auch umbenannt werden in „Weitergehen_zum_Jahr“ oder so. Wichtig ist das keine Leerzeichen zwischen mehreren Worten stehen

Gut, was macht das Programm? Er fragt nach („If“) ob das Formularfeld „K1“ den Wert (result) „1“ hat. Wenn es deaktiv ist hat es den Wert 0, aktiv den Wert 1. Wenn ja wird das Formularfeld „Jahr“ markiert (Select).

Wenn du das Programm geschrieben hast öffnest du noch einmal das Kontrollkästchen (von dem aus gesprungen werden soll) und wählst bei „Makro ausführen beim Beenden“ eben jenes Makro aus welches du geschrieben hast.
Jetzt noch fix das Dokument als „Formular“ schützen und los kanns gehen …
Kontrollkästchen anklicken, Tab drücken und schwupp ist er auf dem neuen Textfeld (aber eben nur wenn es auch ein „kreuz“ drin hat).

Viel Spaß
Tobi@s