none
Word VBA - Texteile für zweiten Ausdruck ausblenden RRS feed

  • Allgemeine Diskussion

  • Ich möchte ein Makro entwickeln, mit dessen Hilfe ein Dokument in zweifacher Ausführung gedruckt werden soll. Der Anwender soll dabei die Möglichkeit haben, Teile des Dokuments zu kennzeichnen. In der ersten Ausführung soll alles gedruckt werden. In der zweiten Ausführung soll dann der gekennzeichnete Text nicht mit gedruckt werden.

    Da ich bisher keine andere Möglichkeit gefunden habe, würde ich für den zweiten Ausdruck einfach die gekennzeichneten Texte weiß formatieren und anschließen wieder auf schwarz setzen. Allerdings habe ich bisher keine Möglichkeit gefunden den Text zu irgendwie zu kennzeichnen. Hat jemand vielleicht eine Idee, wie man so etwas bewerkstelligen könnte?

    Danke schonmal!

     

    JMO


    • Bearbeitet JMO78 Donnerstag, 17. November 2011 20:50
    • Typ geändert Bogdan Petru Roiu Freitag, 2. Dezember 2011 08:54 Diskussion
    Donnerstag, 17. November 2011 20:45

Alle Antworten

  • Hallo JMO78,

    Man kann die Textmarke verwenden. Die Texte / Teile des Dokumentes, die ausgeblendet werden muessen, sollen markiert werden und als Textmarke addiert werden:

    1.   Text selektieren

    2.   Gehe zu Einfügen -> Textmarke

    3.   Ein Name für die Textmarke angeben: z.B. Teil1

     

    Dann in dem Makro um sie zu bearbeiten, die Textmarke auf folgender Weise selektieren:

     

    Sub Makro()
        '....
        ActiveDocument.Range(ActiveDocument.Bookmarks("Teil1").Start, ActiveDocument.Bookmarks("Teil1").End).Select
        Selection.Font.ColorIndex = wdWhite
        '.....
    End Sub
    

    Viele Grüße,

    Bogdan


    Ich bin gerne bei den Foren. Es kommt von Herzen. Es wird aber keine implizite oder sonstige Garantie für die geposteten Antworte / Informationen gewährt. Hier auch die Forenregeln.
    Freitag, 18. November 2011 08:16
  • Hallo Bodgan,

    vielen Dank für Deine Antwort. Genau an so etwas hatte ich gedacht. Gibt es eine Möglichkeit eine Textmarke zu verwenden, noch bevor der auszublendende Text geschrieben wurde. In Deinem Beispiel wird ja zuerst der Text geschrieben, dann markiert und anschließend mit der Textmarke versehen.

    In der Praxis wäre der Ablauf etwas folgendermaßen:

    1. Anwender schreibt seinen Brief oder was auch immer.
    2. Jetzt möchte er zusätzlichen Text einfügen, der auf dem 2. Druck nicht sichtbar sein soll. Hierfür klickt er auf einen Button, der ein Makro startet.
    3. Das Makro soll nun dafür sorgen, das der nachfolgende Text in irgendeiner Form gekennzeichnet wird.
    4. Wenn er nun drucken möchte, klickt er auf einen anderen Button, der ein Form für den Druck startet.
    Anhand der Kennzeichnung erkennt das Makro (Druck-Form), welcher Text für den zweiten Ausdruck ausgeblendet werden soll.

    Ich hoffe, man versteht in etwa, was ich vorhabe.

    Freitag, 18. November 2011 18:32
  • Hallo JMO78,

    1. Anwender schreibt seinen Brief oder was auch immer.
    2. Jetzt möchte er zusätzlichen Text einfügen, der auf dem 2. Druck nicht sichtbar sein soll. Hierfür
    markiert er den Text und dann
    klickt er auf einen Button, der ein Makro startet.
    3. Das Makro soll nun dafür sorgen, dass der nachfolgende Text in irgendeiner Form gekennzeichnet wird.
    Das Makro soll der nächste freie Nummer für Textmarkennamen lesen (sagen wir ist ‚3‘), dann eine neue Textmarke („Teil3“) erstellen und dann alles in benutzerdefinierten Dokument-Eigenschaften ‚einloggen‘

    Sub TextmarkeEinfuegen()
        Dim intCount As Integer
        
        On Error Resume Next
        intCount = ActiveDocument.CustomDocumentProperties("TextmarkenZaehler")
        If Err.Number > 0 Then
            Err.Clear
            ActiveDocument.CustomDocumentProperties.Add "TextmarkenZaehler", False, msoPropertyTypeNumber, 0
        End If
        On Error GoTo 0
        
        If Selection.Start <> Selection.End Then
            intCount = intCount + 1
            ActiveDocument.Bookmarks.Add "Teil" + CStr(intCount), Selection.Range
            ActiveDocument.CustomDocumentProperties.Add "Textmarken" + CStr(intCount), False, msoPropertyTypeString, "Teil" + CStr(intCount)
        Else
            MsgBox "Es wurde kein Text selektiert!", vbExclamation
        End If
        
    End Sub
    


    4. Wenn er nun drucken möchte, klickt er auf einen anderen Button, der ein Form für den Druck startet. Anhand der Kennzeichnung erkennt das Makro (Druck-Form), welcher Text für den zweiten Ausdruck ausgeblendet werden soll.

    5. Nett wäre, dass man einen zusätzlichen Button hat, der ein Form öffnet, wo alle definierten Bereiche aufgelistet sind. Man könnte hier testweise alle definierten Bereiche ‚ausblenden‘ und wieder ‚einblenden‘ und man könnte den User auch erlauben die Definitionen zu löschen…

    Viele Grüße,

    Bogdan


    Ich bin gerne bei den Foren. Es kommt von Herzen. Es wird aber keine implizite oder sonstige Garantie für die geposteten Antworte / Informationen gewährt. Hier auch die Forenregeln.
    Montag, 21. November 2011 11:01
  • Hallo JMO78,

    Könntest Du damit weitergehen?

    Danke und viele Grüße,

    Bogdan


    Ich bin gerne bei den Foren. Es kommt von Herzen. Es wird aber keine implizite oder sonstige Garantie für die geposteten Antworte / Informationen gewährt. Hier auch die Forenregeln.
    Donnerstag, 24. November 2011 08:39
  • Dieser Thread wurde in Diskussion umgewandelt. Natürlich sind weitere Nachfragen / Beiträge möglich und selbstverständlich willkommen.

    Bogdan


    Ich bin gerne bei den Foren. Es kommt von Herzen. Es wird aber keine implizite oder sonstige Garantie für die geposteten Antworte / Informationen gewährt. Hier auch die Forenregeln.
    Freitag, 2. Dezember 2011 08:54