Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1836to1840
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Druckbefehl durch Makro ersetzen

Druckbefehl durch Makro ersetzen
30.06.2021 05:58:13
V.
Liebe Profis,
Ich habe ein Makro geschrieben mit dem ich Druckeinstellungen wie z. B. Druckbereich und Kopf.- Fußzeilen dynamisch vornehme. Am Ende ist die Druckvorschau aktiv durch

Application.CommandBars.ExecuteMso "PrintPreviewAndPrint".
Diesem Makro habe ich die Tastenkombination CTRL+p zugeordnet.
Meine Frage: Gibt es eine Möglichkeit, das Makro alternativ zusätzlich über [Datei][Drucken] zu starten, also die Windows Funktion durch das Makro zu ersetzen, so dass dieses Makro über beide Wege ([Datei][Drucken] und CTRL+p) gestartet werden kann? Wie muss ich das anstellen?
Danke für eure Hilfe.

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Druckbefehl durch Makro ersetzen
30.06.2021 06:12:53
Oberschlumpf
Hi,
oder füge deiner Tabelle irgdwo einen Button hinzu und weise diesem das Druckmakro zu.
Hilfts?
Einzige Idee bzgl: Windows-Funkti...nee..du druckst doch in Excel, nich in Windows! ...jdflls nutz dazu das BeforePrint-Ereignis in Excel und setz danach dem Parameter Cancel den Wert True zu.
Hilfts?
Ciao
Thorsten
AW: Druckbefehl durch Makro ersetzen
30.06.2021 08:32:47
V.
Hallo Thorsten,
Den Button möchte ich vermeiden, weil das file aus zig Tabellen besteht und ich den Druckbefehl von jeder Stelle aus starten möchte, ohne erst den Button irgendwo suchen zu müssen. Auch, weil der dynamische Druckbereich sich auf die gerade aktive intelligente Tabelle bezieht möchte ich diese Zelle nicht verlassen um den Button anzuwählen. Deshalb fällt diese Lösung flach.
Natürlich hast du recht: Das Drucken geschieht aus Excel heraus, nicht aus Windows - hatte mich falsch ausgedrückt, sorry.
Deinen anderen Ansatz bekomme ich nicht hin: Wie muss ich das BeforePrint-Ereignis integrieren? Mein Versuch:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Call MakroDrucken
Cancel = True
End Sub

in "Diese Arbeitsmappe" "Workbook" "BeforePrint" funktioniert nicht. Auch wenn ich den kompletten Text des Makros anstelle von "Call MakroDrucken" einfüge wird das Makro vor dem Druck nicht ausgeführt, sondern der [Datei][Drucken]-Befehl wird so ausgeführt als wenn es das Makro nicht gäbe.
Ich wäre dankbar für weitere Tipps, wie ich das Makro auf diese Art aktivieren kann.
Anzeige
AW: Druckbefehl durch Makro ersetzen
30.06.2021 18:21:31
Oberschlumpf
Hi,
ohne, dass ich deine Datei kenne, kann ich leider nicht helfen.
So, wie du den Code eingesetzt hast, würd ich sagen, ist es ok - aber ich kann mich ja auch irren.
Ciao
Thorsten
AW: Druckbefehl durch Makro ersetzen
01.07.2021 08:28:05
V.
Danke für deine Hilfe, es war ein guter Ansatz. Ich werde einfach noch mal ein wenig versuchen, ob ich den Fehler selbst finden kann.
Oder vielleicht hat jemand anderes im Forum noch eine Idee?
AW: Druckbefehl durch Makro ersetzen
04.07.2021 12:36:48
V.
Bisher habe ich immer noch nicht herausgefunden, warum das Makro über die Tastatureingabe CTRL+p aufgerufen wird, aber über [Datei][Drucken] nicht. Habe meine Datei mal auf dieses Beispiel abgespeckt und dann hochgeladen.
https://www.herber.de/bbs/user/146941.xlsm
Dadurch ist meine Fragestellung wahrscheinlich eher nachvollziehbar.
Vielleicht hat ja jemand im Forum eine weitere Idee oder einen Lösungsansatz.
Anzeige
AW: Druckbefehl durch Makro ersetzen
05.07.2021 18:19:07
Yal
Hallo V,
wenn ein Makro eine Tastenkombination zugeordnet wurde, die bereit eine Funktion hatte (in dem Fall Strg+p), dann hat diese Befehl vorrang, spricht durch "strg+p" wird das Marko aufgerufen. Es hat aber keine keine Wirkung auf den anderen Wege zur Druckbefehle.
Anders gesagt: wenn A und B zu C führen und Du sagst, A soll zu D führen, dann führt B weiterhin zu C.
Du kannst zum einfachen Testzweck versuchen, den Ereignis aktionslos abzufangen:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
MsgBox "Makro hat reagiert!"
End Sub
Dann kannst Du prüfen, was mit Strg+p oder [Datei][Drucken] passiert.
VG
Yal
Anzeige
AW: Druckbefehl durch Makro ersetzen
06.07.2021 09:42:47
V.
Hallo Yal,
auch wenn ich in einer neuen leeren Arbeitsmappe

Private Sub Workbook_BeforePrint(Cancel As Boolean)
MsgBox "Makro hat reagiert!"
End Sub
eingebe und dann [Datei][Drucken] wähle erscheint die MsgBox nicht, d. h. es wird gar nichts ausgeführt, egal ob ein Makro hinterlegt ist oder nicht.
Anscheinend liegt es doch am Aufruf "BeforePrint", oder?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige