Office: Textmarke in neuem Dokument löschen

Helfe beim Thema Textmarke in neuem Dokument löschen in Microsoft Word Hilfe um das Problem gemeinsam zu lösen; Hallo! Ich habe eine Word-Vorlage (Dokument.dotm) wenn diese geöffnet wird, wird ein neues Dokument auf Basis der Vorlage erstellt und eine Userform... Dieses Thema im Forum "Microsoft Word Hilfe" wurde erstellt von Al3x05, 6. April 2024.

  1. Al3x05 User

    Textmarke in neuem Dokument löschen


    Hallo!

    Ich habe eine Word-Vorlage (Dokument.dotm) wenn diese geöffnet wird, wird ein neues Dokument auf Basis der Vorlage erstellt und eine Userform angezeigt. Zur Vereinfachung wird das neue Dokument hier Dokument1 genannt. In dieser Userform kann man die Checkbox1 anklicken. Wenn die Checkbox 1 den Value True hat, soll der Text in der Textmarke TM_Textmarke wieder in ein neues Dokument (Dokument2), das auf der Vorlage (Vorlage.dotm) beruht eingesetzt werden.
    Nun möchte ich gerne die Textmarke TM_Textmarke im Dokument1 samt dem Inhalt löschen lassen.
    Leider bekomme ich das nicht hin.

    Der Code in This Dokument:
    Code:
    Option Explicit
    
    Private Sub document_new()
    UserForm1.Show
    End Sub
    Der Code in der Userform:
    Code:
    Option Explicit
    
    Private Sub CommandButton1_Click()
    
         ' Check if Checkbox1 is selected
        If CheckBox1.Value = True Then
            ' Check if the bookmark "TM_Textmarke" exists
            If ThisDocument.Bookmarks.Exists("TM_Textmarke") Then
                ' Select the bookmark "TM_Textmarke"
                Dim bookmarkRange As Range
                Set bookmarkRange = ThisDocument.Bookmarks("TM_Textmarke").Range
        
                ' Copy the bookmark range
                bookmarkRange.Copy
        
                ' Delete the bookmark "TM_Textmarke"
    '            ThisDocument.Bookmarks("TM_Textmarke").Delete          ' - löscht die Textmarke aber nicht den Inhalt in Dokument.dotm
    '            ThisDocument.Bookmarks("TM_Textmarke").Range = ""      ' - scheint keine Auswirkung zu haben
        
    '            Dim tmRange As Range
    '            Set tmRange = ThisDocument.Bookmarks("TM_Textmarke").Range
    '            tmRange.Delete                                         ' - scheint keine Auswirkung zu haben
                
                ' Create a new document based on the template "Vorlage.dotm"
                Dim newDoc As Document
                Set newDoc = Documents.Add(Template:="C:\Users\Desktop\Vorlage.dotm")
        
                ' Paste the bookmark range into the new document and keep the formatting
                newDoc.Range.PasteAndFormat wdFormatOriginalFormatting
        
                ' Optional: Activate the new document
                'newDoc.Activate
        
                ' Delete the bookmark "TM_Textmarke" in the new document
                newDoc.Bookmarks("TM_Textmarke").Delete
        
            Else
                MsgBox "Die Textmarke wurde nicht gefunden.", vbExclamation
            End If
    '    ThisDocument.Bookmarks("TM_Textmarke").Delete                  ' - löscht die Textmarke aber nicht den Inhalt in Dokument.dotm
        End If
    Unload UserForm1
    End Sub
    Beispieldokumente habe ich angehängt. Beim Verwenden der Dokumente muss der Pfad zur Vorlage noch angepasst werden. Geplant ist später, dass dieser den gleichen Pfad wie Dokument.dotm hat.

    Vielen Dank für eure Hilfe!

    lg Alex
     
    Al3x05, 6. April 2024
    #1
  2. czil hat Ahnung
    Code:
     bookmarkRange.Delete
    Vermute mal, es geht dir auch um die Formatierungen die hart in dem Dok vorgenommen werden, sonst würde ich dir empfehlen, den Range einfach in die Variable zu bringen und dann in das Zieldok einzufügen. (
    Code:
    Set bookmarkRange = ThisDocument.Bookmarks("TM_Textmarke").Range.FormattedText
    ...
     newDoc.Range.InsertAfter bookmarkRange
    dabei würde der Text mit rüberkommen ohne die Bookmarks.
    Ach ja, dass die beiden Templates in dem gleichen Ordner liegen, kannst du dann mit dem hier ausnützen:
    Code:
    Set newDoc = Documents.Add(Template:=ThisDocument.Path & "\Vorlage.dotm")
     
  3. Al3x05 User
    Vielen Dank für deine Antwort.

    Ja, die Formatierung brauche ich.

    Hier wird bei mir die Textmarke und deren Inhalt im Dokument.dotm und nicht im Dokument1 gelöscht.

    Gib es eine Möglichkeit die Textmarke samt Inhalt auch im Dokument1 zu löschen?

    Der hinsichtlich des Pfades der Vorlage aktualisiert Code:
    Code:
    Option Explicit
    
    Private Sub CommandButton1_Click()
    
         ' Check if Checkbox1 is selected
        If CheckBox1.Value = True Then
            ' Check if the bookmark "TM_Textmarke" exists
            If ThisDocument.Bookmarks.Exists("TM_Textmarke") Then
                ' Select the bookmark "TM_Textmarke"
                Dim bookmarkRange As Range
                Set bookmarkRange = ThisDocument.Bookmarks("TM_Textmarke").Range
        
                ' Copy the bookmark range
                bookmarkRange.Copy
        
                ' Delete the bookmark "TM_Textmarke"
    '            bookmarkRange.Delete                                   ' - löscht die Textmarke und den Inhalt in Dokument.dotm
    '            ThisDocument.Bookmarks("TM_Textmarke").Delete          ' - löscht die Textmarke aber nicht den Inhalt in Dokument.dotm
    '            ThisDocument.Bookmarks("TM_Textmarke").Range = ""      ' - scheint keine Auswirkung zu haben
        
    '            Dim tmRange As Range
    '            Set tmRange = ThisDocument.Bookmarks("TM_Textmarke").Range
    '            tmRange.Delete                                         ' - scheint keine Auswirkung zu haben
                
                ' Create a new document based on the template "Vorlage.dotm"
                Dim newDoc As Document
                Set newDoc = Documents.Add(Template:=ThisDocument.Path & "\Vorlage.dotm")
    
                ' Paste the bookmark range into the new document and keep the formatting
                newDoc.Range.PasteAndFormat wdFormatOriginalFormatting
        
                ' Optional: Activate the new document
                'newDoc.Activate
        
                ' Delete the bookmark "TM_Textmarke" in the new document
                newDoc.Bookmarks("TM_Textmarke").Delete
        
            Else
                MsgBox "Die Textmarke wurde nicht gefunden.", vbExclamation
            End If
        End If
    Unload UserForm1
    End Sub
     
    Al3x05, 7. April 2024
    #3
  4. czil hat Ahnung

    Textmarke in neuem Dokument löschen

    So wie du das geschrieben hattest wolltest du die in dem Ausgangsdoc löschen. Wenn sie im Ziel gelöscht werden soll, dann entweder der Übertrag mit FotmattedText des Bookmarkrange oder du definierst den Range der Bookmarkvariablen neu im neuen Dokument. Ganz verstehe ich dann aber den Sinn nicht, denn warum sollte ich was Übertragen wenn ich dann löschen will?
    Die Bookmark im neuen Doc wurde bei mir gelöscht.
     
  5. Al3x05 User
    Danke für deine Antwort.

    Die Vorlage ist bei das Dokument.dotm.
    Hier sind alle Texte, die dann mit den Auswahlmöglichkeiten über die Userform bestimmen, wie sich das auf der Vorlage basierte Dokument1 zusammenstellt. Im Beispieldokument gibt es aus Gründen der Übersicht nur die Checkbox1.
    Aus dem Dokument1 soll dann ein Teil in einem separaten Dokument (Dokument2) gespeichert werden. Beide basieren auf der getroffenen Auswahl und den Eingaben in der Userform beim Aufrufen des Dokument.dotm.

    Der Sinn dahinter ist, dass das Dokument1 verschickt werden soll, ein Teil davon aber nur für interne Zwecke benötigt wird (Dokument2). Den internen Teil brauche ich aber nicht im Dokument1. Deshalb soll hier die Textmarke, die in Dokument2 kopiert wurde, gelöscht werden.

    Ich hoffe die Erklärung ist nachvollziehbar.

    Da komme ich leider nicht mit, was aber sicher an meinen mangelhaften VBA Kenntnissen liegt. Könntest du mir das genauer erklären?
     
    Al3x05, 7. April 2024
    #5
  6. czil hat Ahnung
    Set bookmarkRange = newdoc.Bookmarks("TM_Textmarke").Range
    Das definiert dir die Bookmark im neuen Dokument.
    Geht aber erst nach der Zeile
    newDoc.Range.PasteAndFormat wdFormatOriginalFormatting

    Im Prinzip sollte das Löschen auch mit dem
    newDoc.Bookmarks("TM_Textmarke").Range.Delete
    gehen.
    Bin nun aber noch viel mehr verwirrt, geht es jetzt um 3 Dokumente?
     
  7. Al3x05 User
    Danke für deine Antwort.

    Das findet sich schon im Code (jedoch ohne "Range") und löscht wie gewollt einfach die Textmarke im Dokument2.

    Genau genommen 4 Dokumente mit der Vorlage auf der Dokument2 beruht (2 durch den code neu erstellte und 2 Vorlagen).
    Ich habe eine Word-Vorlage (Dokument.dotm) 1. Vorlage wenn diese geöffnet wird, wird ein neues Dokument auf Basis der Vorlage erstellt und eine Userform angezeigt. Zur Vereinfachung wird das neue Dokument hier Dokument1 1. neues Dokument genannt. In dieser Userform kann man die Checkbox1 anklicken. Wenn die Checkbox 1 den Value True hat, soll der Text in der Textmarke TM_Textmarke wieder in ein neues Dokument (Dokument2), 2. neues Dokument das auf der Vorlage (Vorlage.dotm) 2. Vorlage beruht eingesetzt werden.

    Ich weiß nur nicht, wie ich auf das Dokument1 (erstes neues Dokument) zugreifen kann und dort die Textmarke TM_Textmarke samt Inhalt löschen kann.
     
    Al3x05, 7. April 2024
    #7
  8. czil hat Ahnung

    Textmarke in neuem Dokument löschen

    Wie ich dir geschrieben hab.
    Das doc ist bei Erstellung des neuen Dokuments in der Variablen und wenn du den Range löschst, ist beides weg, Text und Bookmark. Wenn der Range nicht mit dabei ist, nur die Bookmark.
    Wenn du die Bookmark incl Text aus dem durch Doppelklick aus der Vorlage erstellten Docs löschen willst, ist das mit dem anderen Teil, bookmark.range getan.
     
    Zuletzt bearbeitet: 7. April 2024
  9. Al3x05 User
    Genau. im Dokument2 soll ja auch nur die bookmark gelöscht werden. Das passt auch super.
    Im Dokument1 sollte beides gelöscht werden. Da fehlt mir, wie ich das Dokument1 ansprechen kann.
     
    Al3x05, 7. April 2024
    #9
  10. czil hat Ahnung
    Hab den Post noch mal geändert, aber im Prinzip ist das Dokument dann das activedocument und sollte so angesprochen werden.
    Thisdocument ist immer das, was den Code trägt
     
  11. Al3x05 User
    Das ist es!
    Vielen, vielen Dank!

    Wenn jemand anderer ein ähnliches Problem hat, das ist der funktionierende Code:

    Code:
    Option Explicit
    
    Private Sub CommandButton1_Click()
    
         ' Check if Checkbox1 is selected
        If CheckBox1.Value = True Then
            ' Check if the bookmark "TM_Textmarke" exists
            If ThisDocument.Bookmarks.Exists("TM_Textmarke") Then
                ' Select the bookmark "TM_Textmarke"
                Dim bookmarkRange As Range
                Set bookmarkRange = ThisDocument.Bookmarks("TM_Textmarke").Range
        
                ' Copy the bookmark range
                bookmarkRange.Copy
        
                ' Delete the bookmark "TM_Textmarke"
                ActiveDocument.Bookmarks("TM_Textmarke").Range.Delete
                
                ' Create a new document based on the template "Vorlage.dotm"
                Dim newDoc As Document
                Set newDoc = Documents.Add(Template:=ThisDocument.Path & "\Vorlage.dotm")
    
                ' Paste the bookmark range into the new document and keep the formatting
                newDoc.Range.PasteAndFormat wdFormatOriginalFormatting
        
                ' Optional: Activate the new document
                'newDoc.Activate
        
                ' Delete the bookmark "TM_Textmarke" in the new document
                newDoc.Bookmarks("TM_Textmarke").Delete
        
            Else
                MsgBox "Die Textmarke wurde nicht gefunden.", vbExclamation
            End If
        End If
    Unload UserForm1
    End Sub
     
    Al3x05, 7. April 2024
    #11
Thema:

Textmarke in neuem Dokument löschen

Die Seite wird geladen...
  1. Textmarke in neuem Dokument löschen - Similar Threads - Textmarke Dokument löschen

  2. Textmarken und Querverweis in Dokument einfügen VBA

    in Microsoft Word Hilfe
    Textmarken und Querverweis in Dokument einfügen VBA: Hallo, ich habe per Seriendruck ein Word Dokument erstellt. Es ist kein Klassischer Serienbrief sondern eine Auswertung über mehreren Seiten, es können durchaus mehrere hundert Seiten werden. Ich...
  3. Nach Wörtern in Textmarke suchen und Zeilen formatieren

    in Microsoft Word Hilfe
    Nach Wörtern in Textmarke suchen und Zeilen formatieren: Hallo! Es gibt ein Word Dokument mit mehreren Seiten Text. In diesem Dokument steht öfter das Wort "Anteil". In diesem Dokument gibt es auch mehrere Textmarken. In den Textmarken ist jeweils Text...
  4. gleiche Textmarker auf mehrere Seiten

    in Microsoft Word Hilfe
    gleiche Textmarker auf mehrere Seiten: Hallo zusammen, bin eigentlich viel im Excel Forum unterwegs. Nun überschneidet sich das ganze. Mein Problem. Ich habe ein Worddokument mit einer Tabelle. Diese wird mit Daten aus Excel...
  5. Bei Textmarke aktualisieren automatischer Zeilenumbruch

    in Microsoft Word Hilfe
    Bei Textmarke aktualisieren automatischer Zeilenumbruch: Moin, ich habe eine Textmarke im Betreff eines Serienbriefs erstellt, die im ersten Absatz wiederholt werden soll. Hinter der Textmarke im ersten Absatz steht noch ein Wort, welches beim...
  6. Hinzufügen oder Löschen von Textmarken in einem Word-Dokument oder einer Outlook-Nachricht

    in Microsoft Outlook Tutorials
    Hinzufügen oder Löschen von Textmarken in einem Word-Dokument oder einer Outlook-Nachricht: Hinzufügen oder Löschen von Textmarken in einem Word-Dokument oder einer Outlook-Nachricht Word für Microsoft 365 Outlook für Microsoft 365 Word 2019 Outlook 2019...
  7. Hinzufügen oder Löschen von Textmarken in einem Word-Dokument oder einer Outlook-Nachricht

    in Microsoft Word Tutorials
    Hinzufügen oder Löschen von Textmarken in einem Word-Dokument oder einer Outlook-Nachricht: Hinzufügen oder Löschen von Textmarken in einem Word-Dokument oder einer Outlook-Nachricht Word für Microsoft 365 Outlook für Microsoft 365 Word 2019 Outlook 2019...
  8. auf Textmarken anderer Dokumente zugreifen Word2002

    in Microsoft Word Hilfe
    auf Textmarken anderer Dokumente zugreifen Word2002: Hallo Zusammen! Ich nutze Word2002 und habe mehrere Word Dokumente vorliegen. In dem einen befindet sich mein Literaturverzeichnis welches ich als Textmarken gespeichert habe. Nun möchte ich...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden