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. Makro neu ausführen wenn Daten gefiltert werden

    in Microsoft Excel Hilfe
    Makro neu ausführen wenn Daten gefiltert werden: Hi zusammen, wenn ich auf meine Daten einen Filter anwende, soll ein bestimmtes Makro ausgeführt werden. [ATTACH] Also wenn ich bspw. bei Derivat "G70" rausnehme, soll ein Makro automatisch neu...
  3. VBA Werte aus Tabellenblätter kopieren WENN

    in Microsoft Excel Hilfe
    VBA Werte aus Tabellenblätter kopieren WENN: Hallo zusammen, Meine Ausgangssituation: Verschiedene Registerkarten mit Materiallisten, je nach System. Ganz vorne eine Übersichtsregisterkarte, in welcher die Systeme und Anzahl ausgesucht...
  4. VBA duplikate finden und auf Kriterien prüfen

    in Microsoft Excel Hilfe
    VBA duplikate finden und auf Kriterien prüfen: Liebe Excel Gemeinschaft Ich möchte gerne mit VBA code Doppelte Einträge finden und 2 Kriterien sollen Geprüft werden un anderen spalte. Zu guter letzte sollte in einer weiter die...
  5. Makro kopieren

    in Microsoft Excel Hilfe
    Makro kopieren: Hallo zusammen, ich habe zwei Tabellen, wo ich aktuell über 2 Makro Buttons folgende Funktionen erfülle : z.B. Button 1 - Ausgewählten Text in Tabelle 1 Spalte "B" kopieren nach Tabelle 2 Spalte...
  6. VBA Spalten aus- und einblenden trotz Blattschutz

    in Microsoft Excel Hilfe
    VBA Spalten aus- und einblenden trotz Blattschutz: Guten Tag Ich habe eine Übersicht, in dem die Urlaubszeiträume meiner Kollegen eingetragen werden sollen. Neben Namen, Vornamen und Zeitraum sollen noch weitere spezifische Daten eingetragen...
  7. VBA Makro abbrechen durch Inputbox

    in Microsoft Word Hilfe
    VBA Makro abbrechen durch Inputbox: Hallo zusammen, dank Gerhard H aus diesem Forum habe ich das folgende Makro im Einsatz, bei dem eine Spalte einer Tabelle in Word auf einen vom Anwender eingegebenen Begriff durchsucht wird und...
  8. Outlook Termineinladung an festen Kontakt

    in Microsoft Outlook Hilfe
    Outlook Termineinladung an festen Kontakt: Hallo zusammen, ich muss einen bestimmten Kontakt häufig zu einem Termin einladen und würde mir gerne ein paar Klicks sparen. Kann man eine Art Schnellsprung oder vielleicht ein Makro erstellen,...
  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