Supportnet / Forum / Textverarbeitung
Einzelne Seite kopieren per Makro?
Frage
Hallo,
ich habe beruflich eine 19-seitige Dokumentvorlage bei der die ersten 18 Seiten aus einem Abschnitt bestehen und geschützt sind, da hier Formularfelder angelegt sind.
Der zweite Abschnitt (Seite 19) besteht aus einer ungeschützten Tabelle. Diese Seite soll je nach Bedarf mehrfach an das Ende des Dokuments angefügt werden. Einmal brauche ich diese Tabelle nur einmal, dann wieder n mal. Das möchte ich beim Öffnen der Vorlage durch eine Makroabfrage lösen (Box: Wieviel Tabellenseiten werden benötigt?). Und dann soll das Makro die Angegebene Anzahl Seiten mit der Tabelle in das Dokument ans Ende einfügen.
Wer kann mir mit einem Makro helfen? Habe keine Ahnung von VBA, aber hier ein Makro gefunden welches die Seite jeweils in ein neues Dokument kopiert.
Private Const Titel = "Seite kopieren"
Sub SeiteKopieren()
savEnv = Options.Pagination
Options.Pagination = False
max = ActiveDocument.ComputeStatistics(wdStatisticPages)
Flag = False
While Flag = False
Text = "Welche Seite soll kopiert werden?" & vbCrLf
Text = Text & "1 - " & max
Antwort = InputBox(Text, Titel, "1")
If Antwort = "" Then Exit Sub
Dim A As Integer
On Error Resume Next
A = Antwort
Fehler = Err.Number
On Error GoTo 0
If Fehler = 13 Then MsgBox "Das ist keine gültige Zahl.", vbInformation, Titel
Else
If A > max Or A < 1 Then MsgBox "Die Zahl liegt nicht im gültigen Bereich.", vbInformation, Titel
Else
Flag = True
End If
End If
Wend
Selection.GoTo What:=wdGoToPage, which:=wdGoToAbsolute, Count:=Int(A)
Dim nDoc As Document, oRange As Range
Set oRange = Selection.Bookmarks("\Page").Range
If Right(oRange.Text, 1) = Chr(12) Then oRange.SetRange Start:=oRange.Start, End:=oRange.End - 1
End If
Set nDoc = Documents.Add(Template:=ActiveDocument.AttachedTemplate.FullName) nDoc.Content.FormattedText = oRange.FormattedText
End Sub
Arbeite mit Word 97, vielleicht kann das jemand verbiegen .Schon mal Danke, Holger
holger-bein@web.de