Makro erstellt löscht aber nicht alle Daten

  • #1
A

Alex 1

Guest
Hallo,
ich habe dieses Makro erstellt habe aber ein kleines Problem.
Es löscht mit nicht den Ganzen markierten Text, habt ihr vielleicht dafür eine Lösung

Code:
Sub Makro3()
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
Selection.MoveDown Unit:=wdLine, Count:=2
Selection.EndKey Unit:=wdLine, Extend:=wdExtend
->Selection.MoveDown Unit:=wdParagraph, Count:=1, Extend:=wdExtend
Selection.TypeBackspace
End Sub


Danke
 
  • #2
Hi Alex,

wenn ich das richitg interpretiere, soll der komplette Text im Kopf gelöscht werden.

Das könnte dann so aussehen:
Code:
Sub Makro3()
->in der Seiten-Ansicht -> KopfZeile aktivieren
 ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
->alles im Kopf selektieren
 Selection.WholeStory
->Selektion löschen
 Selection.Delete
End Sub
Gruß Matjes :)
 
  • #3
Es sollte den Text indem das Datum steht gelöscht werden

Kopfzeile
Tagesablauf

Samstag,  02. 04. 2005
Das Datum wurde auch mit der Textmarke erstellt

Danke
 
  • #4
Hallo Alex,

ist das komplette Datum ein Feld oder Text, der mit einer Textmarke vorbunden ist?

Schick mir doch einfach mal eine leere Seite mit dem betreffenden Kopf.

Gruß Matjes :)
 
  • #5
Grüß dich Matjes

Danke dass du mir weiter geholfen hast, könntest du bitteschön noch mal helfen

Denn ich komm mit dem Kode, damit ich das Datum einfügen kann nicht mehr klar.
Aktuell fügt sich das Datum in der Fußzeile ein.
Code:
Sub Makro3()
'in der Seiten-Ansicht -> KopfZeile aktivieren
  ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
 ->alles im Kopf selektieren
  Selection.WholeStory
 ->Selektion auf das Ende reduzieren
  Selection.Collapse Direction:=wdCollapseEnd
 ->den Paragrphen selektieren, in dem die Schreibmarke steht
 ->ist die Datumszeile
  Selection.Expand Unit:=wdParagraph
 ->Selektion löschen
  Selection.Delete
    If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
        ActiveWindow.Panes(2).Close
    End If
    If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
        ActivePane.View.Type = wdOutlineView Then
        ActiveWindow.ActivePane.View.Type = wdPrintView
    End If
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    Selection.MoveDown Unit:=wdLine, Count:=1
    Selection.TypeParagraph
    Selection.Font.Size = 12
    With ActiveDocument.Bookmarks
        .Add Range:=Selection.Range, Name:=Datum
        .DefaultSorting = wdSortByName
        .ShowHidden = False
    End With
  
'ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
   ->Selection.MoveDown Unit:=wdLine, Count:=2
   ->Selection.EndKey Unit:=wdLine, Extend:=wdExtend
   ->Selection.MoveDown Unit:=wdParagraph, Count:=1, Extend:=wdExtend
   ->Selection.TypeBackspace
   ' Selection.MoveDown Unit:=wdLine, Count:=2
   ->With ActiveDocument.Bookmarks
     '   .Add Range:=Selection.Range, Name:=Datum
     '   .DefaultSorting = wdSortByName
     '   .ShowHidden = False
   ->End With
       Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
   ->ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
ActiveDocument.Bookmarks(Datum).Range.InsertBefore Format((Date), dddd,  dd. MM. yyyy)
End Sub
 
  • #6
Danke es funktioniert jetzt hervorragen

:D
 
  • #7
Schön :D

Dann nochmal zum mitlesen:
Code:
Const c_ParagraphDatumNr = 3
Const c_Textmarke_Datum_Name = Datum
Sub DatumImHeaderLoeschen()
 Dim l_View As Long
 
->Ansicht merken
 l_View = ActiveWindow.ActivePane.View.SeekView
->in der Seiten-Ansicht -> KopfZeile aktivieren
 ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
 
->alles im Kopf selektieren
 Selection.WholeStory
->Absatz Datum selektieren
 On Error Resume Next
 Selection.Paragraphs(c_ParagraphDatumNr).Range.Select
 If Err.Number = 0 Then
  Selection.Delete->Selektion löschen
 Else
  MsgBox (keine 3.Absatz(Datums-Absatz) zu löschen.)
 End If
 
->in gemerkte Ansicht zurückschalten
 ActiveWindow.ActivePane.View.SeekView = l_View
End Sub


Sub DatumImHeaderSchreiben()
 Dim l_View As Long
 
->Ansicht merken
 l_View = ActiveWindow.ActivePane.View.SeekView
->in der Seiten-Ansicht -> KopfZeile aktivieren
 ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
 
->alles im Kopf selektieren
 Selection.WholeStory
 
 If Selection.Paragraphs.Count = c_ParagraphDatumNr Then
  MsgBox (Es ist schon ein 3.Absatz (Datums-Absatz) im Header vorhanden.)
  GoTo Aufraeumen
 ElseIf Selection.Paragraphs.Count = c_ParagraphDatumNr - 1 Then
  
 ->Datums-Absatz neu anlegen
  Selection.Paragraphs.Add
  Selection.Paragraphs(c_ParagraphDatumNr).Range.Select
  
 ->formatieren
  Selection.Font.Size = 12
  Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
  
 ->Textmarke einfügen
  Selection.End = Selection.End - 1
  ActiveDocument.Bookmarks.Add _
   Range:=Selection.Range, _
   Name:=c_Textmarke_Datum_Name
  
 ->Datum in Textmarke schreiben
  ActiveDocument.Bookmarks(c_Textmarke_Datum_Name).Range.Text = _
   Format((Date), dddd, dd. MM. yyyy)
 Else
  MsgBox (Es ist nur ein Absatz im Header vorhanden.)
 End If
 
Aufraeumen:
 ActiveWindow.ActivePane.View.SeekView = l_View
End Sub
 
Thema:

Makro erstellt löscht aber nicht alle Daten

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben