Office: VBA Makro - Aktuellen Abschnitt drucken

Helfe beim Thema VBA Makro - Aktuellen Abschnitt drucken in Microsoft Word Hilfe um das Problem gemeinsam zu lösen; Hallo! Ich möchte ein VBA-Makro in Word programmieren, das den aktuell ausgewählten Abschnitt (dort wo sich der Cursor befindet) druckt. Mit der... Dieses Thema im Forum "Microsoft Word Hilfe" wurde erstellt von ACHDOM, 22. Dezember 2021.

  1. ACHDOM Neuer User

    VBA Makro - Aktuellen Abschnitt drucken


    Hallo!

    Ich möchte ein VBA-Makro in Word programmieren, das den aktuell ausgewählten Abschnitt (dort wo sich der Cursor befindet) druckt.

    Mit der aktuellen Seite funktioniert es schon:
    ActiveDocument.PrintOut Range:=wdPrintCurrentPage

    Jetzt suche ich etwas im Sinne von:
    ActiveDocument.PrintOut Range:=wdPrintCurrentSection

    Nur leider funktioniert das so nicht.

    Kann mir jemand helfen?

    LG
     
  2. Gerhard H Erfahrener User
    Hallo Achdom,

    probier mal das:
    Code:
    Sub druckDenAbschnitt()
    Dim abschnNr As Long
    
    abschnNr = Selection.Information(wdActiveEndSectionNumber)
    ActiveDocument.PrintOut Background:=False, Range:=wdPrintRangeOfPages, _
    Copies:=1, Pages:="s" & abschnNr
    
    End Sub
    Achtung, funktioniert nicht mit fortlaufenden Abschnittswechseln. Dafür hab ich noch keine Lösung.
     
    Gerhard H, 22. Dezember 2021
    #2
    1 Person gefällt das.
  3. ACHDOM Neuer User
    Servus Gerhard!

    Vielen Dank für Deine rasche Antwort!

    Grundsätzlich funktioniert das schon mal.

    Es gibt nur noch ein kleines Problem:

    Ich arbeite mit "Abschnittsumbruch ungerade Seite". Hier wird die allenfalls bestehende überflüssigen gerade Seite am Beginn des auf den "Abschnittsumbruch ungerade Seite" folgenden Abschnittes einfach ausgeblendet (die in der Statusleiste am unteren Fensterrand angezeigte Seitenzahl wird einfach übersprungen). Beim Drucken des Abschnittes (mit Deinem Makro) wird diese überflüssige Seite jedoch mitgedruckt, sodass der Ausdruck mit einer leeren Seite beginnt, was bei beidseitigem Drucken zu einem Verschiebungsproblem führt.
    Selbiges Problem taucht auch beim Drucken über das normale Dialogfeld auf, wenn ich zB nur "s3" (bei zu druckende Seiten) eintippe.

    Ein denkbarer Lösungsansatz wäre evtl., dass das Makro überprüft ob der dem aktuell ausgewählten Abschnitt vorhergehende Abschnitt mit einer geraden Seite oder einer ungeraden Seite endet und entsprechend die erste Seite des aktuellen Abschnittes mitdruckt (bei Ende des vorherigen Abschnitts mit gerader Seite) oder die erste Seite des aktuellen Abschnittes nicht mitdruckt (bei Ende des vorherigen Abschnitts mit ungerader Seite). (Achtung wäre geboten beim ersten Abschnitt, da gibt es ja keinen vorhergehenden).

    Diese Lösung umzusetzen übersteigt jedoch meine VBA-Fähigkeiten um ein Weites VBA Makro - Aktuellen Abschnitt drucken :(.

    Könntest Du mir da vielleicht nochmal helfen? Oder hast Du einen besseren/einfacheren Vorschlag?

    LG
     
  4. Gerhard H Erfahrener User

    VBA Makro - Aktuellen Abschnitt drucken

    Hallo Achdom,

    ich hab die Sache nachgestellt und bei mir (Word 2019) ist es genau so.

    Dann hab ich eine Variante mit viel Selection ausprobiert und bei der scheint es so, dass eine eventuelle Leerseite nie mitgedruckt wird, weil eine leere Seite ja nicht ausgewählt werden kann, so dass man auch keine Unterscheidung treffen muss

    Das ist für mich Neuland, entsprechend wenig durchgetestet hab ich das, aber das kannst du ja machen und wieder berichten.
    Code:
    Sub AbschnittDrucken2()
    Dim abschnNr As Long, erste As Long, letzte As Long
    
    'in welchem Abschnitt steht die Schreibmarke?
    abschnNr = Selection.Information(wdActiveEndSectionNumber)
    MsgBox "Schreibmarke steht im Abschnitt " & abschnNr
    
    'Anfang der erste Seite im Abschnitt ermitteln:
    Selection.GoTo what:=wdGoToSection, which:=wdGoToAbsolute, Count:=abschnNr
    erste = Selection.Range.Start
    
    'Ende der letzten Seite im Abschnitt ermitteln
    Selection.Move unit:=wdSection, Count:=1
    letzte = Selection.Range.Start - 1
    
    'Druckbereich auswählen und drucken
    ActiveDocument.Range(erste, letzte).Select
    ActiveDocument.PrintOut Background:=True, Range:=wdPrintSelection
    
    End Sub
    [Code]
     
    Gerhard H, 23. Dezember 2021
    #4
Thema:

VBA Makro - Aktuellen Abschnitt drucken

Die Seite wird geladen...
  1. VBA Makro - Aktuellen Abschnitt drucken - Similar Threads - VBA Makro Aktuellen

  2. VBA programmieren

    in Microsoft Excel Hilfe
    VBA programmieren: Hallo Leute, Bisher hatte ich meine Probleme immer mit dem mitlesen lösen können. Nun ist es soweit und ich brauche eure Hilfe. Ich habe ein Tabellenblatt, nennen wir es mal "Palettenliste", mit...
  3. Formatierungszeichen mit einem VBA Makro einblenden

    in Microsoft Word Hilfe
    Formatierungszeichen mit einem VBA Makro einblenden: Hallo! Ich benutze Word 365 und habe eine Vorlage mit Makros. Über eine Userform werden dann Textbausteine ein- oder ausgeblendet. Nun möchte ich, dass wenn man auf Basis der Vorlage ein neues...
  4. Drucken über VBA Makro

    in Microsoft Excel Hilfe
    Drucken über VBA Makro: Hallo zusammen, ich habe in einem Excel Blatt 10 zugewiesene Druckbereiche. Drucken möchte ich aber immer nur so viele Druckbereiche wie in meinem Fall Preisschilder erstellt sind. Das alles...
  5. PIVOT - Datenquelle Überschriften ändern

    in Microsoft Excel Hilfe
    PIVOT - Datenquelle Überschriften ändern: Hallo zusammen, ich arbeite momentan an einer Excel Auswertung mit einer riesengroßen Datenquelle dahinter. Auf diese Datenquelle beziehen sich diverse Pivot's. In der Datenquelle sind die...
  6. Excel VBA / Daten kopieren wenn Liste auf x steht.

    in Microsoft Excel Hilfe
    Excel VBA / Daten kopieren wenn Liste auf x steht.: Hallo zusammen, ich habe ein PowerQuery, welches ich ca. 2 mal im Monat aktualisiere. Aus dem Query möchte ich gerne die Daten per Makro in ein anderes Arbeitsblatt kopieren. Dabei möchte ich...
  7. CSV-Daten per Makro einbinden - manuelle Wahl der Quelldatei

    in Microsoft Excel Hilfe
    CSV-Daten per Makro einbinden - manuelle Wahl der Quelldatei: Liebe Excel-Gemeinde, ich möchte CSV-Daten in eine bereits geöffnete Arbeitsmappe laden. Sie sollen nach jedem Laden eines Datensatzes auf einem anderen Arbeitsblatt dargestellt werden, das den...
  8. VBA - Makro If-Anweisung in Abhängigkeit von Zellenert

    in Microsoft Excel Hilfe
    VBA - Makro If-Anweisung in Abhängigkeit von Zellenert: Hallo Zusammen, ich habe bereits ein Makro, welches mir von einem Tabellenblatt eine PDF erstellt. Nun möchte ich das ganze auch mehrsprachig gestalten und komme mit der IF-Abfrage nicht zurecht...
  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