Visual Basic - Knopf zum drucken?

4 Antworten

Hallo,

wähle zunächst in den Entwicklertools in der Gruppe Steuerelemente bei den Vorversionstools die Befehlsschaltfläche (ActiveX-Steuerelement) und ziehe diese an gewünschter Stelle auf dem Dokument auf.

Dabei sollte Word in den Entwurfsmodus schalten, ansonsten bitte in den Entwicklertools manuell aktivieren. Jetzt öffnest du den mit der Befehlschaltfläche ausgeführten VBA-Code, indem du entweder im Entwurfsmodus doppelt auf die Befehlsschaltfläche (namens CommandButton1) klickst, oder alternativ mit der rechten Maustaste auf die Befehlsschaltfläche klickst und im Kontextmenü Code anzeigen anwählst.

Dadurch öffnet sich das VBA-Fenster, in dem bereits die Subroutine Private Sub CommandButton1_Click() eingetragen sein sollte.

Ändere hier zunächst im Eigenschaftenfenster (falls dieses nicht geöffnet ist, klicke auf Ansicht Eigenschaftenfenster oder drücke F4) den Namen in btnDrucken (optional, aber so macht man das normalerweise) und die Caption in Drucken (Caption meint die Beschriftung der Schaltfläche, sodass auf dieser anschließend nicht mehr „CommandButton1“, sondern eben „Drucken“ steht).

Hinweis: Bei Bedarf könntest du im Eigenschaftenfenster unter Font noch Schriftart, Schriftgröße und Schriftschnitt (Fett, Kursiv) der Befehlschaltflächenbeschriftung verändern. Dazu ins Feld Font klicken und dann rechts auf die dort angezeigten drei Punkte klicken, um das Schriftartenfenster zu öffnen. Das ist aber optional.

Rechts im Codefenster fügst du anschließend den folgenden Code ein, den dir schon AntiVegetarier1 angegeben hat:

Option Explicit

Private Sub btnDrucken_Click()

ActiveDocument.PrintOut Range:=wdPrintFromTo, From:="2", To:="9"

End Sub

Beachte: Wenn du den (VBA-)Namen der Befehlsschaltfläche im Eigenschaftenfenster vorher in btnDrucken geändert hast, musst du auch den Namen der Subroutine von Private Sub CommandButton1_Click() auf Private Sub btnDrucken_Click() ändern.

Bild zum Beitrag

Speichere dein Dokument jetzt als Word-Dokument oder Word-Vorlage mit Makros ab, und verlasse anschließend den VB-Editor.

Stell bitte sicher, dass du den Entwurfmodus verlässt, indem du in den Entwicklertools auf diesen klickst, so dass dieser nicht mehr farbig unterlegt ist.

Jetzt kannst du im Dokument auf die Befehlsschaltfläche Drucken klicken, und Word sollte anschließend den Druckbefehl ausführen.

Eine Rückmeldung wäre nett und melde dich bitte bei Fragen!

Gruß, BerchGerch

Woher ich das weiß:eigene Erfahrung
 - (Computer, PC, programmieren)

Einen Button erzeugst du, indem du unter "Entwicklertools" eine Befehlsschaltfläche einfügst.

Dann zeichnest du ein Makro auf, indem du die Befehle zum Drucken ausführst.

Den aufgezeichneten Befehl fügst du dann ein bei z.B. "CommandButton1_Click".

So in etwa würde dann der Befehl aussehen:

  Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _

    wdPrintDocumentContent, Copies:=1, Pages:="1", PageType:= _

    wdPrintAllPages, ManualDuplexPrint:=False, Collate:=True, Background:= _

    True, PrintToFile:=False, PrintZoomColumn:=0, PrintZoomRow:=0, _

    PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0

Pages müsstest du dann anpassen auf 2-9.

Timche 
Fragesteller
 16.08.2018, 09:26

also ich bin auf befehlsschaltfläche (Active-x-steuerelemente) gegangen und habe einen comandbutton hinzugefügt. doppelklick drauf, dann ihren befehl eingefügt, sodass ich dort stehen habe:

Private Sub CommandButton1_Click()

 Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _

  wdPrintDocumentContent, Copies:=1, Pages:="2-9", PageType:= _

  wdPrintAllPages, ManualDuplexPrint:=False, Collate:=True, Background:= _

  True, PrintToFile:=False, PrintZoomColumn:=0, PrintZoomRow:=0, _

  PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0

End Sub

Ich habe dann auf speichern unter den dateitypen word mit makros ausgewählt und es abgespeichert. Es tut sich beim anklicken des buttons allerdings gar nichts.. :/ Ich und Befehle in programmiersprache werden niemals freunde :D

0

Schau mal unter Entwicklertools, ob der Entwurfsmodus noch aktiv ist, dann nämlich tut sich beim Anklicken nichts. Ggf Entwurfsmodus ausschalten.

hallo, das geht einfach mit dem befehl:

ActiveDocument.PrintOut Range:=wdPrintFromTo, From:="2", To:="9"
Timche 
Fragesteller
 16.08.2018, 11:05

das funktioniert alles nicht wie es soll :(

0
BerchGerch  17.08.2018, 06:06
@Timche

In diesem Fall wäre es hilfreich zu wissen, was konkret nicht funktioniert:

  • Führt Word den Druckbefehl nicht aus oder druckt es die falschen Seiten?
  • Bekommst du irgendeine Fehlermeldung?
  • Lässt sich die Befehlsschaltfläche nicht anklicken?
  • Hängt sich Word auf oder „friert“ der Bildschirm „ein“?

usw.

0