Angeben eines Papierfachs in einem Makro (Microsoft Excel)
Wenn Sie zum Drucken Ihrer Arbeitsblätter Makros verwenden, wissen Sie bereits, dass das Makro den tatsächlichen Drucker angeben kann, an den die Ausgabe gesendet werden soll.
Was ist, wenn Sie auch ein bestimmtes Papierfach angeben möchten, das auf diesem Drucker verwendet werden soll? Leider wird dies ein bisschen klebrig.
Das Problem besteht darin, dass beim Klicken auf die Schaltfläche Optionen im Dialogfeld Seite einrichten, um festzulegen, welches Papierfach verwendet werden soll, das angezeigte Dokument vollständig von Ihrem Druckertreiber und nicht von Excel gesteuert wird.
Was bedeutet das für dich? Dies bedeutet, dass in einem Excel-Makro keine Befehle zum Angeben eines Druckerfachs verwendet werden können. Es gibt jedoch einige Problemumgehungen, die Sie ausprobieren können. Die erste Problemumgehung besteht darin, einfach verschiedene Druckerdefinitionen in Windows zu definieren, die jeweils auf die Verwendung eines bestimmten Druckerfachs zugeschnitten sind. Befolgen Sie diese allgemeinen Schritte:
-
Bestimmen Sie, wie viele Papierfächer Sie auf dem Drucker verwenden möchten.
-
Definieren Sie einen neuen Drucker für jedes Papierfach, das Sie verwenden möchten. Wenn Sie beispielsweise drei verschiedene Papierfächer verwenden möchten, definieren Sie drei Drucker mit jeweils einem Namen, der für ein Papierfach repräsentativ ist.
-
Klicken Sie mit der rechten Maustaste auf eine Druckerdefinition und ändern Sie die Eigenschaften des Druckers, damit er in das gewünschte Papierfach gedruckt wird.
-
Wiederholen Sie Schritt 3 für jede der anderen Druckerdefinitionen und stellen Sie sicher, dass Sie für jede andere Papierfächer unterschiedliche Papierfächer angeben.
Zu diesem Zeitpunkt haben Sie mehrere Druckerdefinitionen eingerichtet, die jeweils in einem anderen Papierfach auf demselben Drucker gedruckt werden. In Excel können Sie den gewünschten Drucker in einem Makro angeben, sodass der Ausdruck zur gewünschten Druckerdefinition und damit zum gewünschten Papierfach wechselt. Der einzige Nachteil dieser Lösung ist natürlich, dass sie einige Einrichtungsarbeiten erfordert. Wenn Sie in einem Büro mit 50 Benutzern arbeiten, müssen Sie sicherstellen, dass für alle 50 Benutzer jeder Drucker wie oben beschrieben definiert ist.
Eine weitere Problemumgehung besteht in der Verwendung der SendKeys-Anweisung in Ihrem Makro. Informationen zu SendKeys finden Sie in der mit Excel verfügbaren VBA-Online-Hilfe. Grundsätzlich wird der Tastaturpuffer jedoch mit einer Reihe von Tastendrücken gefüllt, so wie sie vom Benutzer eingegeben würden. Auf diese Weise können Sie das Makro theoretisch so einrichten, dass es die Tastendrücke emuliert, denen Sie folgen, um das Dialogfeld Seite einrichten zu öffnen, auf Optionen zu klicken und ein anderes Druckerfach auszuwählen.
Es gibt jedoch ein potenzielles Problem mit SendKeys, und es ist ein großes. Dies kann unzuverlässig sein, da nicht sichergestellt werden kann, dass die Tastenanschläge tatsächlich dort ausgeführt werden, wo Sie möchten. Unter einem Multithread-Betriebssystem (wie Windows) kann ein anderer Prozess eingreifen und die Befehle entgleisen. Wenn SendKeys auf Ihrem Computer funktioniert, funktioniert es möglicherweise nicht auf dem Computer einer anderen Person, es sei denn, diese hat dieselbe Excel-Version, denselben Drucker und dieselbe Druckertreiberversion.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (7010) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365. Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: