Office - Word, Excel und Co. 9.753 Themen, 41.597 Beiträge

Word Makro zur Handbucherstellung

witzgag / 1 Antworten / Baumansicht Nickles

Hallo zusammen,


ich muß in einem Word Makro folgendes Problem lösen:


Ich habe ein Handbuch-Dokument, in dem über dem Inhaltsverzeichnis der Name des Handbuches steht. Nun habe ich ein zweites Dokument, in dem ein Deckblatt von mir designed wurde und in dem mittendrin das Wort DUMMY existiert. Nun soll über ein Makro dieses Deckblatt in das Handbuch eingefügt/eingeladen werden und der DUMMY Text durch eben den Namen des Handbuches ersetzt werden !


Hat jemand ne Idee wo ich so ein Makro (oder ähnliches) finden kann !


Danke im Voraus


Jo

bei Antwort benachrichtigen
Uli M witzgag „Word Makro zur Handbucherstellung“
Optionen

Hallo Jo,

Mal eine Variante, bei der im HB der Name in einer Textmarke erwartet wird und das Deckblatt via Einfügen - Datei eingefügt wird (ohne Abschnittswechsel, Seitenwechsel oder dgl.). Makro in bel. Word-Dok/Dot einbringen und anpassen:

Option Explicit

Sub DeckblattInsHandbuch()
' anpassen:
Const ksHandbuch = "U:TestHANDBUCH.doc"
Const ksDeckblatt = "U:TestDeckblatt.doc"
Const ksMarke = "HANDBUCH"

Dim objHb As Word.Document
Dim strMarke As String

Set objHb = Documents.Open(ksHandbuch, False, False)
With objHb
If Not .Bookmarks.Exists(ksMarke) Then
MsgBox "Textmarke " & ksMarke & " nicht gefunden!"
Exit Sub
End If
strMarke = .Bookmarks(ksMarke).Range.Text
' einfügen wohl zu Beginn?
.Range(0, 0).InsertFile ksDeckblatt, , False, False, False
.Range(0, 0).Select
' könnte stattdessen natürlich auch über eine Textmarke erfolgen...
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "DUMMY"
.Replacement.Text = strMarke
.Format = False
.Forward = True
.MatchWholeWord = True
.MatchWildcards = False
.Execute replace:=1
End With
End With
End Sub

Gruß
Uli

PS: Ich bin mir hier immer nicht sicher, ob ich jetzt Backslashes für korrekte Darstellung entwerten muss - in der Vorschau sind einzelne immer weg => du wirst dich auskennen

bei Antwort benachrichtigen