Impresión a archivo + PDF

13/07/2007 - 11:52 por javivi | Informe spam
Hola foro,

Mediante printout se supone que se puede imprimir documentos a PDF,
según la rutina:

Application.ActivePrinter = "Adobe PDF en Ne01:"

ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Adobe PDF en Ne01:", PrintToFile:=True, Collate:=True, _
PrToFileName:=nombrePDF

donde nombrePDF es la ruta:

"C:\documento.pdf"

sin embargo me da el siguiente error:

"When you create a postcript file you have to send the host
fonts.. "

parece que el método printout no permite la impresión a pdf y manda la
impresión a formato postscript. Se puede hacer que imprima en pdf,
cómo?

Gracias por adelantado

Javivi

Preguntas similare

Leer las respuestas

#6 javivi
27/07/2007 - 11:07 | Informe spam
On 26 jul, 21:49, "Héctor Miguel"
wrote:
hola, Javier !

> Con :
> Application.ActivePrinter = "AdobePDFen Ne01:"
> ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
> "AdobePDFen Ne01:", Collate:=True
> Consigo que se cree un archivopdfque se guarda en el temporal.
> Pero no consigo hacer que se archive correctamente en la dirección "C:\documento.pdf".
> No funciona con el argumento PrToFileName:=nombrePDF y da los errores que te comento en líneas anteriores.
> Alguna idea de que comando incluir despues para que el archivo del temporal se archive y cierre segun quiero.
> Definitivamente la impresora correcta es: "AdobePDFen Ne01:"

-> PrToFileName tiene soporte a partir de la version 2000
[probablemente] la macro falla cuando la ejecutas en un xl-'97 -?-

comentas [si hubiera] algun detalle adicional ?
saludos,
hector.



Hola Hector,

Es xls 2003

Estoy perdido...

Gracias
Respuesta Responder a este mensaje
#7 Héctor Miguel
27/07/2007 - 23:16 | Informe spam
hola, Javier !

comparando la instruccion *original* que no te esta funcionando:
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"AdobePDFen Ne01:", PrintToFile:=True, Collate:=True, _
PrToFileName:=nombrePDF



con la que comentas que te manda el archivo a los temporales:
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"AdobePDFen Ne01:", Collate:=True



MAS tu *afirmacion* de que en el nombre de la impresora se junta con la preposicion de conexion al puerto -???????-
Definitivamente la impresora correcta es: "AdobePDFen Ne01:"



1) [hasta donde se, y perdon que *insista*... pero]
SI se requiere SEPARAR con un espacio el nombre de la impresora de la preposicion *en* para enlazar al puerto de conexion -?-

2) a la segunda forma, que comentas si genera un archivo pero en los temporales
[aparentemente] solo le hace falta la instruccion: -> PrintToFile:=True -?-

3) [nuevamente disculpa que *insista* pero...]
si el archivo que se genera [por cualquiera de las opciones] NO ES *valido* -?-
a) revisa/confirma/modifica/... la separacion del nombre de la impresora y la preposicion *en*
b) des/re/instala los controladores de la impresora *virtual* y/o el complemento pdfcreator
c) busca/obten/instala/... alguna actualizacion [controlador, complemento, administrdor de fuentes, ???]

4) [otra posibilidad] si la version de excel es 2003, y NO te *reconoce* el argumento *PrToFileName* -?-
revisa en el editor de vba en [menu] herramientas / referencias -> si existe alguna que diga FALTA:xxx o MISSING:xxx -?-

comentas [si detectas] algun detalle mas... 'significativo' ?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida