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. Hilfe

    in Microsoft Excel Hilfe
    Hilfe: Liebe Alle, ich bin ganz neu in diesem Forum und bräuchte Hilfe zu einem Excel Projekt. Ich möchte (siehe Bild 1) das die Felder die dort ausgefüllt werden automatisch in Bild 2 übertragen in...
  3. VBA - Zwei Tabellen anhand ID zusammenfügen

    in Microsoft Excel Hilfe
    VBA - Zwei Tabellen anhand ID zusammenfügen: Hallo zusammen, ich habe folgendes Problem: Es gibt eine „Mutterliste“ mit Bezeichnungen, ID und Status. Die „Kinderlisten“ haben in unterschiedlicher Reihenfolge die selben IDs aber...
  4. Hilfe beim Makro

    in Microsoft Excel Hilfe
    Hilfe beim Makro: Hallo alle! Kennt sich jemand von euch beim Thema Makros aus und könnte mir bei meiner Angelegenheit helfen? Ich habe unten eine Datei angehängt. Ich habe dort 2 Register: Einmal "Reinkopieren"...
  5. farbige Zellen mittels Makro berücksichtigen

    in Microsoft Excel Hilfe
    farbige Zellen mittels Makro berücksichtigen: Hallo Zusammen Ich bin in meinem Unternehmen für die Einsatzplanung der Mitarbeiter zuständig, d.h. ich muss ihnen ihr Einsatzgebiet wöchentlich zuweisen. (Siehe Bsp, die gelb markierten Zellen...
  6. Excel VBA Datei durchsuchen, Datentyp prüfen und bestimmten Inhalt auslesen

    in Microsoft Excel Hilfe
    Excel VBA Datei durchsuchen, Datentyp prüfen und bestimmten Inhalt auslesen: Hallo liebe Community, ich muss mit einem VBA-Code bei einer Nessus-Datei prüfen, ob bei einer Stelle wo normalerweise eine IP-Adresse stehen sollte ein Hostname steht(z.B. HSTSERV02) (müsste...
  7. VBA Makro: Tabelle nach 2 Kriterien durchsuchen & in diese Zeile weitere Werte eintragen

    in Microsoft Excel Hilfe
    VBA Makro: Tabelle nach 2 Kriterien durchsuchen & in diese Zeile weitere Werte eintragen: Hi Zusammen, langsam bin ich am verzweifeln, da ich mich nicht perfekt in VBA auskenne und zu keiner Lösung komme. Grundlegend möchte ich das "Tool" per 3. Tabelle öffnen (Speicherorte sollen...
  8. Function Sub und Makro

    in Microsoft Excel Hilfe
    Function Sub und Makro: Hallo zusammen. Ja, auch ich verzweifle gerade. Ich habe folgendes Problem: Da ich quasi ein Makro innerhalb einer Wenn-Dann-Bedingung starten möchte, muss ich den VBA Code in einer Function...
  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