Excel Automation ActivePrinter CC

Bild Microsoft Dynamics NAV 2009 (aka "NAV 6")
Forumsregeln
Impressum • Community-Knigge • Nutzungsbedingungen • Datenschutzrichtlinie

Bitte unbedingt angeben, ob sich eure Frage auf den RoleTailored-Client (RTC) oder den Classic-Client (CC) bezieht!

Excel Automation ActivePrinter CC

Beitragvon h-d.neuenfeldt » 17. September 2014 11:27

Hallo Zusammen,

ich arbeite mit Excel Automation und möchte Excel vor dem Ausdruck sagen, auf welchem Drucker das Dokument gedruckt werden soll.

Betriebssystem : Win 7
Office 2013

Dazu habe ich in Navision entsprechende Variablen definiert und die Kernzeile lautet :
Code: Alles auswählen
 Drucker.RESET;
  Drucker.SETFILTER(Name, '*PT-9*');
  IF Drucker.FIND('-') THEN
  BEGIN
      HSTR := xlsApp.ActivePrinter;
      xlsApp.ActivePrinter :=Drucker.Name + ' auf ' + Drucker.Device;    (1)
      xlsApp.ActivePrinter :=Drucker.Name;                                          (2)
  END;
  xlsBook._PrintOut(1,1,AnzKopien);


Sowohl Variante 1 wie 2 liefern einen Fehler aus Excel "Die ActivePronter-Eigenschaft des Application-Objectes kann nicht festgelegt werden"

Nachdem ich mir den Inhalt der Variablen HSTR ("\\inn-ad01\EDV HL-5240 auf Ne04:") angeguckt habe, glaube ich auch zu wissen warum :
Da es sich um Netzwerkdrucker handelt erwartet Excel in Drucker.Device einen Namen in der Form "Ne01". Die Ziffern sind dabei nicht auf allen Arbeitsplätzen für denselben Netzwerkdrucker identisch.
Navision liefert unter Drucker.Device in diesem Fall den Wert "172.20.5.21_PT".

Wie kann ich das Problem lösen ????

Viele GrĂĽĂźe
(ziemlich verzweifelt) Hans-Dieter
Benutzeravatar
h-d.neuenfeldt
 
Beiträge: 161
Registriert: 22. April 2008 10:49
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.0, 2.6, 2009R2, 2017

Re: Excel Automation ActivePrinter CC

Beitragvon h-d.neuenfeldt » 17. September 2014 12:44

Umbau des Quelltextes auf

Code: Alles auswählen
  Drucker.RESET;
  Drucker.SETFILTER(Name, '*PT-9*');
  IF Drucker.FIND('-') THEN
  BEGIN
      xlsBook._PrintOut(1,1,AnzKopien,FALSE,Drucker.Name);
  END ELSE BEGIN
      xlsBook._PrintOut(1,1,AnzKopien); 
  END;


  xlsBook.Close(FALSE);
  CLEAR(xlsApp);


und es läuft ....
Benutzeravatar
h-d.neuenfeldt
 
Beiträge: 161
Registriert: 22. April 2008 10:49
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.0, 2.6, 2009R2, 2017


ZurĂĽck zu NAV 2009

Wer ist online?

Mitglieder in diesem Forum: Unbekannter Spider und 1 Gast

cron