Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Impresión a archivo + PDF

179 views
Skip to first unread message

javivi

unread,
Jul 13, 2007, 5:52:32 AM7/13/07
to
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

Héctor Miguel

unread,
Jul 13, 2007, 4:08:28 PM7/13/07
to
hola, javier !

> Mediante printout se supone que se puede imprimir documentos a PDF, segun 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 metodo printout no permite la impresion a pdf y manda la impresion a formato postscript.
> Se puede hacer que imprima en pdf, como?

revisa en las propiedades de la impresora [adobe pdf] en el panel de control de windows
y comprueba que no tenga una marca la opcion de: "do not send fonts to adobe pdf"
[y por si las dudas, verifica que tampoco tenga marca la opcion de: "prompt for adobe pdf filename"]

tambien pudiera ser algun objeto incrustado que este *reducido* a una linea por ocultarse filas [graficos, dibujos] -?-

comentas [si hubiera] algun detalle mas... 'significativo' ?
saludos,
hector.


javivi

unread,
Jul 23, 2007, 5:32:33 AM7/23/07
to
Hola Héctor,

Eso ya lo había probado y no genera el documento pdf correctamente.

La cuestión es que genera un archivo "documento.pdf" pero que
realmente no es pdf ya que no se puede abrir y lo genera con más kb
que otros docs en pdf del mismo estilo. En resumidas cuentas que no
manda un doc pdf a imprimir.

Alguna idea?. No habrá que instalar alguna biblioteca de adobe?. Desde
luego que cambiando la impresora y mandando a imprimir con .PrintOut
no funciona.

Gracias y saludos,

Javi

On 13 jul, 22:08, "Héctor Miguel" <NOhemiordiS...@PLShotmail.com>
wrote:
> hola, javier !
>
> > Mediante printout se supone que se puede imprimir documentos aPDF, segun la rutina:
> > Application.ActivePrinter = "AdobePDFen Ne01:"


> > ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _

> > "AdobePDFen 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 metodo printout no permite la impresion apdfy manda la impresion a formato postscript.
> > Se puede hacer que imprima enpdf, como?
>
> revisa en las propiedades de la impresora [adobepdf] en el panel de control de windows

Héctor Miguel

unread,
Jul 23, 2007, 12:52:54 PM7/23/07
to
hola, javier !

> Eso ya lo habia probado y no genera el documento pdf correctamente.
> La cuestion es que genera un archivo "documento.pdf" pero que realmente no es pdf ya que no se puede abrir
> y lo genera con mas kb que otros docs en pdf del mismo estilo. En resumidas cuentas que no manda un doc pdf a imprimir.
> Alguna idea?. No habra que instalar alguna biblioteca de adobe?.


> Desde luego que cambiando la impresora y mandando a imprimir con .PrintOut no funciona.

si el controlador de la impresora no esta reconociendo el formato [y revisando tu consulta original]...
es probable que este *mal direccionada* la salida del documento a la impresora -?-
[da la impresion de que] al nombre de la impresora: -> "AdobePDFen Ne01:"
le falta un espacio *antes* de la conexion al puerto: -> "AdobePDF en Ne01:"

si *esto* no es la posible causa... ni tampoco nada de lo anterior... -???-
comentas [si hubiera] algun detalle mas... 'significiativo' ?
saludos,
hector.

__ las consultas anteriores __

javivi

unread,
Jul 26, 2007, 7:59:28 AM7/26/07
to
Hola Héctor,

Con :

Application.ActivePrinter = "Adobe PDF en Ne01:"


ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _

"Adobe PDF en Ne01:", Collate:=True

Consigo que se cree un archivo pdf que 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 qué comando incluir después para que el archivo del
temporal se archive y cierre según quiero.

Definitivamente la impresora correcta es: "Adobe PDF en Ne01:"

Gracias

Javi


On 23 jul, 18:52, "Héctor Miguel" <NOhemiordiS...@PLShotmail.com>
wrote:


> hola, javier !
>
> > Eso ya lo habia probado y no genera el documentopdfcorrectamente.

> > La cuestion es que genera un archivo "documento.pdf" pero que realmente no espdfya que no se puede abrir
> > y lo genera con mas kb que otros docs enpdfdel mismo estilo. En resumidas cuentas que no manda un docpdfa imprimir.

> > comentas [si hubiera] algun detalle mas... 'significativo' ?- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -


Héctor Miguel

unread,
Jul 26, 2007, 3:49:55 PM7/26/07
to
hola, Javier !

> Con :
> Application.ActivePrinter = "Adobe PDF en Ne01:"
> ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
> "Adobe PDF en Ne01:", Collate:=True
> Consigo que se cree un archivo pdf que 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: "Adobe PDF en 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.


javivi

unread,
Jul 27, 2007, 5:07:48 AM7/27/07
to
On 26 jul, 21:49, "Héctor Miguel" <NOhemiordiS...@PLShotmail.com>
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

Héctor Miguel

unread,
Jul 27, 2007, 5:16:58 PM7/27/07
to
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.


0 new messages