Impresoras y TWord

Impresoras y TWord

Postby Manuel Aranda » Mon May 26, 2008 12:27 pm

Al iniciar mi aplicación establezco la impresora con PrinterSetup() y todas las salidas de PRINTER y REPORT van a la impresora establecida. Sin embargo las salidas a impresora de TWord van a la impresora predeterminada ¿Cómo puedo solucionar esto?
Last edited by Manuel Aranda on Mon May 26, 2008 4:16 pm, edited 1 time in total.
Un saludo,
Manuel

xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
User avatar
Manuel Aranda
 
Posts: 604
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

Postby Manuel Valdenebro » Mon May 26, 2008 3:30 pm

Prueba si te funciona lo siguiente:


cImpresora := oWord:ActivePrinter // impresora predeterminada
oWord:ActivePrinter := "hp laser 1220" // (la impresora nueva)
oWord:PrintOut // opcional
oWord:ActivePrinter := cImpresora // al salir
Un saludo

Manuel
User avatar
Manuel Valdenebro
 
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España

Postby Manuel Aranda » Mon May 26, 2008 4:02 pm

Hola Manuel:

No funciona. Da error. Parece ser que oWord:ActivePrinter no funciona con la clase TWord. Aún así, gracias.
Un saludo,
Manuel

xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
User avatar
Manuel Aranda
 
Posts: 604
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

Postby Manuel Valdenebro » Mon May 26, 2008 8:49 pm

Usando directamente OLE, parece que funciona.
Un saludo

Manuel
User avatar
Manuel Valdenebro
 
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España

Re: Impresoras y TWord

Postby RSalazarU » Wed Aug 03, 2011 3:15 pm

Para resolver este problema y buscando en Google escribí la siguiente funcion:

Code: Select all  Expand view
//------------------------------------------------------------------//
Function ConvertToExcelPrinterFriendlyName(cPrinterName, cConector)
local oReg:=TReg32():New( HKEY_CURRENT_USER, "Software\Microsoft\Windows NT\CurrentVersion\Devices")
   cPrinterName:= cPrinterName + " "+ALLTRIM(cConector)+" " + Token(oReg:Get( cPrinterName ),",",2)
   oReg:Close()
return cPrinterName
 


y para llamarlo

Code: Select all  Expand view

oExcel := NewObjectOle( "Excel" )

oExcel:WorkBooks:Open("C:\Tmp\Planilla.xls")

oExcel:Sheets:Item( 1 ):Select()

oExcel:ActivePrinter:=ConvertToExcelPrinterFriendlyName("PDFCreator", Token(oExcel:ActivePrinter," ",2))
 


Recuerde tambien de colocar en el lugar correcto la instruccion, ya que si se lo coloca despues de la creacion del objeto oExcel, da error.
Debe ser colocado despues de abrir una hoja electronica.

Ah y el parametro <cConector> es para diferenciar el idioma de excel, ya que puede ser " en ", " on ", etc.

Atentamente,


Rolando Salazar U.
SAURO SOFTWARE SRL.
Email: SauroSrl@entelnet.bo
MSN: SauroSrl@hotmail.com
Cochabamba - Bolivia

PD.
No se olvide visitar la pagina de Sauro Srl. WWW.SAURO-SYS.COM
Descargue los programas y haga una prueba, y si le sirven ….. compre una licencia…
RSalazarU
 
Posts: 211
Joined: Wed Jul 16, 2008 12:59 pm
Location: Cochabamba-Bolivia


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 122 guests