Yeti: COM-Objekte aus PHP heraus ansprechen: Anderer Drucker in Excel

Hallo Forum!

Ich weiß ja nicht, ob ihr schon mal mit COM-Objekten unter PHP gearbeitet habt. Ich soll es jetzt tun, um eine Excel-Vorlage (weil einfach änderbar) mit Daten zu füllen uns auszudrucken. Das klappt auch hervorragend, allerdings würde ich gerne auf einem beliebigen Drucker ausdrucken.
Bisher klappt der Ausdruck nur auf dem Standarddrucker.
Mein bisheriger Code ist:
 $excel= new COM("excel.application") or die("Unable to create Excel sheet");
 $excel->Workbooks->Add('c:/pfad/vorlage.xlt');

$excel->Range('B11')->Formula = 'Testfirma GmbH & Co. KG';
 $excel->Range('B12')->Formula = 'Herrn Martin Mustermann';
 $excel->Range('B13')->Formula = '01234 / 56789';
 $excel->Range('B14')->Formula = date("d.m.Y");
 $excel->Range('B37')->Formula = '123,4567 €';
 //...
 $excel->Workbooks[1]->PrintOut(1, 1, 1, 0, '\SERVER\DRUCKER', 0);
 $excel->Workbooks[1]->Close(0);
 $excel->quit();

Ich habe auch schon versucht, $excel->Application->ActivePrinter zu setzen, wie ich es in diversen VBA Tutorials gelernt habe. Laut Excel-Objektkatalog readwrite ... Allerdings kommt dann in PHP immer folgende Fehlermeldung: "Fatal error: Uncaught exception 'com_exception' with message 'Source: Microsoft Excel
Description: Die ActivePrinter-Eigenschaft des Application-Objektes kann nicht festgelegt werden.' in ***:7 Stack trace: #0 {main} thrown in *** on line 7"

Wäre froh, wenn mir jemand einen Tipp geben könnte.

Der Yeti

--
Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
Und bin so klug als wie zuvor!
sh:( fo:| ch:? rl:? br:< n4:& ie:( mo:| va:| de:[ zu:) fl:| ss:) ls:< js:|
[Link:http://community.de.selfhtml.org/fanprojekte/selfcode.htm]
  1. Hi,
    mittlerweile habe ich das Problem wohl ein wenig weiter eingrenzen können. Die o.g. Fehlermeldung scheint daher zu rühren, dass der Drucker falsch angesprochen wurde. '\DRUCKSERVER\DRUCKER auf Ne01:' anstatt '\DRUCKSERVER\DRUCKER' klappt, wobei die Zahl bei jedem Netzwerkdrucker verschieden ist.
    Anscheinend kann man aber nur Drucker ansprechen, die vorher in Windows als Drucker verbunden/installiert sind. Das ist aber dumm, da ich eben firmenweit alle Drucker vom Server aus ansprechen will, ohne diese erst installieren zu müssen.

    Daher die Anschlussfrage: Kann man einen Drucker auch über den Share ansprechen? Kann man u.U. in PHP alle verfügbaren Drucker auflisten lassen?

    Bin dankbar für jede Hilfe...

    Der Yeti

    --
    Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
    Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
    Und bin so klug als wie zuvor!
    sh:( fo:| ch:? rl:? br:< n4:& ie:( mo:| va:| de:[ zu:) fl:| ss:) ls:< js:|
    [Link:http://community.de.selfhtml.org/fanprojekte/selfcode.htm]