ich möchte eine Vorlage in Word erstellen. Dabei habe ich schon einmal Textformularfelder erstellt, die von einer anderen Software schon automatisch ausgefüllt werden. Nun möchte ich es erreichen, dass man (wenn man eine bestimmte Taste drückt) direkt zu einer bestimmten Stelle im Text springt. Ich habe insgesamt 4 Textstellen im Text, die am besten direkt aufgerufen werden können…
Ich habe es mal mit Textmarken versucht, jedoch hat er dann im normalen Dokument, was aus der Vorlage erstellt wurde, nicht mehr die Textmarken gespeichert.
Mit Makros kenne ich mich leider überhaupt nicht aus, damit hat es auch nicht funktioniert
Hi,
wenn Du wirklich nur eine bestimmte Textmarke anspringen willst, öffnest Du Deine Vorlage mit dem Drop-down-Menu RECHTE MAUSTASTE (nicht mit Doppelclick). Dann EXTRA MAKRO AUFZEICHNEN; im Textfeld Makronamen gibtst Du den Namen für Dein Makro ein, z.B. ein A. Im Textfeld Makro Speichern klickst Du im Drop-Down-Menu den Namen Deiner Vorlage.Du klickst den Button TASTATUR und gibst im Feld NEUEN SHORTCUT DRÜCKEN ALT A ein, anschließend ZUORDNEN und SCHLIESSEN und beginnst die Aufzeichnung Deines Makros, um sie sofort wieder durch einen Click auf das blaue Viereck in der Makro-Symbolleiste zu beenden. Du öffnest Dein Makro A mit ALT F8 bzw.EXTRAS MAKROS und, nachdem Du Dein Makro A gemarkt hast, clickst Du Bearbeiten. in den Raum zwischen Sub A() und End SUB kopierst Du den folgenden Codeschnipsel
Selection.GoTo What:=wdGoToBookmark, Name:=„A“’ Diese Zeile springt die TM A an. Funktioniert natürlich nur, wenn Du in Deiner Vorlage in EXTRAS OPTIONEN ANSICHT den Check-Button TEXTMARKEN aktiviert hast. Für die anderen 3 TM Deiner Vorlage kannst Du dann Deine Prozedur Sub A() kopieren und den Prozedurnamen sowie die anzuspringende TM ändern.
Gruß
Wilhelm
Gruß
Wilhelm
Nur wie kann ich das dann machen, dass wenn ich ALT+STRG+A drücke zur Textmarke A komme und wenn ich ALT+STRG+A noch einmal drücke, dass er dann zur Textmarke B geht und so weiter?
Kannst du mir dabei auch noch helfen ?
Vielen Dank im Voraus
Hi Woschtbrot,
die TM A springst Du mit ALT A an. Damit Du mit ALT B die TM B anspringen kannst, genügt das Kopieren und Anpassen der Prozedur Sub A() nicht! Du muß für die TM B die Prozedur neu schreiben, weil sonst der Short-Cut ALT B nicht erzeugt wird. Sorry.
Gruß
Wilhelm
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Damit Du mit ALT B die TM B
anspringen kannst, genügt das Kopieren und Anpassen der
Prozedur Sub A() nicht
Hallo noch einmal
ich glaube wir reden an einander vorbei Ich will ja nicht für jede Textmarke einen eigenen Shortcut festlegen. Ich will mit beispielsweise STRG+ALT+A erst die TMA, dann (also nach erneutem Drücken von STRG+ALT+A) die TMB usw. anspringen…
Ich will nämlich nicht für jede Textmarke eine eigene Tastenkombination sondern ich will EINE, mit der man durch alle Textmarken durchschalten kann und dann am Besten noch eine, mit der man dann wieder zurück durch alle schalten kann.
Nur wie kann ich das jetzt programmieren dass er nach und nach durchschaltet??
Hi,
Shortcut erzeugen wie gehabt, dann in Prozedur hineinkopieren
'Sub WoschtbrotSpecial()
Dim i As Integer
On Error Resume Next
ActiveDocument.Variables.Add Name:=„var“, Value:=„0“
i = ActiveDocument.Variables(„var“).Value + 1
Select Case i
Case 1
Selection.GoTo What:=wdGoToBookmark, Name:=„a“
Case 2
Selection.GoTo What:=wdGoToBookmark, Name:=„b“
Case 3
Selection.GoTo What:=wdGoToBookmark, Name:=„c“
Case 4
Selection.GoTo What:=wdGoToBookmark, Name:=„d“
End Select
ActiveDocument.Variables(„var“).Value = ActiveDocument.Variables(„var“).Value + 1
'End Sub
Die Prozedur nicht etwa probeweise in der Vorlage starten, denn die Dokumentvariable zählt sich hoch!
Jetzt alles klar?)
Gruß
Wilhelm
Die Prozedur nicht etwa probeweise in der Vorlage starten,
denn die Dokumentvariable zählt sich hoch!
Jetzt alles klar?)
Argh,
ich werde noch verrückt. Das Makro funktioniert in der .dot-Datein nachdem ich es erstellt habe. Sobald ich es schliesse und neu öffne (also die DOT-Datei) bekomme ich folgende Fehlermeldung:
Microsoft Visual Basic
„Die Makros in diesem Projekt sind deaktiviert. Informationen zum Aktivieren der Markos finden Sie in der Online-Hilfe oder der Dokumentation der Host-Anwendung.“
Ich habe das Makro nur in dieser einen Vorlage gespeichert, also nicht allegemein! Liegt es daran?
Hi,
hört sich so an, also ob Du meinem guten Rat, den Code nicht in der Vorlage (Dot.-Datei) zu testen, nicht gefolgt bist. Leg mal msgbox i in eine neue Zeile vor End Sub. Wenn die Messagebox eine Zahl höher als 4 zeigt, hab ich recht. Dann ersetzt Du in dem Code den Namen der Dokumentvariablen „Var“ z.B. durch „DocVar“ und schließt - ohne zu testen! - die Vorlage. Dann sollte es wieder klappen, wenn Du den short-cut in einer Datei verwendest.
Gruß
Wilhelm
Messagebox eine Zahl höher als 4 zeigt, hab ich recht.
Hi,
leider hattest du nicht Recht oder ich habe es schon wiedern nicht kapiert. Ich habe die Message Box angelegt und sie zeigt mir je nach Textmarke A,B,C oder D die jeweilige Nummer (also bei A 1 , bei B 2, bei C 3 und bei der Textmarke D die 4 an).
Trotzdem habe ich die Variable mal umbenannt wie du es gesagt hast, hat aber leider auch nicht funktioniert. Sowohl in einem aus der Vorlage heraus erstellten Dokument als auch in der Vorlage selbst.
Gibt es vielleich noch eine andere Möglichkeit ausser Makros?? Oder weisst du was ich jetzt machen kann?
Danke nochmal )