imprimir en pdf muchos ficheros

18/01/2006 - 10:47 por Ralf | Informe spam
Buenos días:
Tengo un fichero en excel que mediante una macro, me imprime una serie de
resultados de una hoja de calculo, por ejemplo:
dia 15, situo 15 en una celda y me recalcula la hoja y se imprime
día 16, sitúo 15 en esa misma celda y se recalcula e imprime

esto para unas 300 variables.

No tengo problema se imprime en una impresora laser y ya está
el problema es que me bloquea dicha impresora y había pensado en generar
ficheros pdf por cada variable y así generar 300 ficheros con un nombre
específico.

Este nombre podría ser 15 xxx , donde xxx sería el nombre del fichero.

¿cómo se podría, si es que se puede hacer?


Bueno aquí está la macro: es un poco "churrigueresca", pero bueno, a mí me
funciona:

EL LIBRO "RESUMENMES.XLS", CONTIENE LOS CALCULOS NECESARIOS EN LA HOJA
DENOMINADA PROFORMA QUE SE CALCULAN EN FUNCION DE LA VARIABLE EN C1
EL LIBRO DIAS.XLS, NADA MÁS QUE CONTIENE EN UNA COLUMNA LOS DIAS QUE QUIERO
IMPRIMIR

Lo que hace la macro es recorrer la columna días y copiar cada dato en C1,
se recalcula e imprime y de nuevo baja una celda y vuelve a hacer lo
mismo.

El tema es que en lugar de imprimir quiero que me genere un fichero de pdf
con un nombre diferente cada vez que podría ser el del día de c1 que va
corriendo mas un texto fijo.

Bueno este es mi problema



Proced IMPRIME_LO_QUE_QUIERAS()

Dim c QueSea Objeto
Definir c = CeldaActiva
Para I = 1 Al 31 Incremento 1

Selección.Copiar
Ventanas("RESUMENMES.XLS").Activar
Hojas("PROFORMA").Seleccionar
Rango("C1").Seleccionar
HojaActiva.Pegar
Aplicación.IrA Referencia:="Area_de_impresión"
Aplicación.ModoCortarCopiar = Falso
VentanaActiva.HojasSeleccionadas.CopiaImpresa Copias:=1
Ventanas("DIAS.XLS").Activar

Selección.Desviar(1; 0).Seleccionar

Siguiente I


Fin Proced



la nueva macro seria:


esto sería cuando genera documentos pdf
para los dias 13 y 21

Lo que observo es que no se me graba en la macro donde se guarda le pdf y el
nombre que le he dado...que seria 13a.pdf y 21a.pdf. en la unidad C:\Mis
Documentos\

¿como solventar esto?,

¿me podeis ayudar?




Sub kl()
'
' kl Macro
'

'
Range("C1").Select
ActiveCell.FormulaR1C1 = "13"
Range("C2").Select
Application.Goto Reference:="Print_Area"
Application.ActivePrinter = "PDF995 en Ne00:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"PDF995 en Ne00:", Collate:=True
ActiveWindow.LargeScroll Down:=-1
Range("C1").Select
ActiveCell.FormulaR1C1 = "21"
Range("C2").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub
 

Leer las respuestas

#1 KL
18/01/2006 - 12:34 | Informe spam
Hola Ralf,

En primer lugar comentarte que es recomendable que mantengas la conversacion sobre el mismo tema en un hilo que ya has empezado y no
crear varias instancias de la misma. Asi no te perderas las respuestas y ahorraras trabaja al que te conteste ;-)

Suponiendo los valores de dias los estas copiando del rango [A2:A32] de la primera hoja del libro "DIAS.XLS", prueba el siguiente
codigo:

Sub Test()
Dim i As Long
For i = 1 To 31
Selection.Copy
With Workbooks("RESUMENMES.XLS").Sheets("PROFORMA")
.Range("C1") = Workbooks("DIAS.XLS") _
.Sheets(1).Cells(i + 1, "A")
.Range("Print_Area").PrintOut ActivePrinter:="PDF995 en Ne00:"
End With
Next i
End Sub

Saludos,
KL


"Ralf" wrote in message news:dql28f$ff5$
Buenos días:
Tengo un fichero en excel que mediante una macro, me imprime una serie de
resultados de una hoja de calculo, por ejemplo:
dia 15, situo 15 en una celda y me recalcula la hoja y se imprime
día 16, sitúo 15 en esa misma celda y se recalcula e imprime

esto para unas 300 variables.

No tengo problema se imprime en una impresora laser y ya está
el problema es que me bloquea dicha impresora y había pensado en generar
ficheros pdf por cada variable y así generar 300 ficheros con un nombre
específico.

Este nombre podría ser 15 xxx , donde xxx sería el nombre del fichero.

¿cómo se podría, si es que se puede hacer?


Bueno aquí está la macro: es un poco "churrigueresca", pero bueno, a mí me
funciona:

EL LIBRO "RESUMENMES.XLS", CONTIENE LOS CALCULOS NECESARIOS EN LA HOJA
DENOMINADA PROFORMA QUE SE CALCULAN EN FUNCION DE LA VARIABLE EN C1
EL LIBRO DIAS.XLS, NADA MÁS QUE CONTIENE EN UNA COLUMNA LOS DIAS QUE QUIERO
IMPRIMIR

Lo que hace la macro es recorrer la columna días y copiar cada dato en C1,
se recalcula e imprime y de nuevo baja una celda y vuelve a hacer lo
mismo.

El tema es que en lugar de imprimir quiero que me genere un fichero de pdf
con un nombre diferente cada vez que podría ser el del día de c1 que va
corriendo mas un texto fijo.

Bueno este es mi problema



Proced IMPRIME_LO_QUE_QUIERAS()

Dim c QueSea Objeto
Definir c = CeldaActiva
Para I = 1 Al 31 Incremento 1

Selección.Copiar
Ventanas("RESUMENMES.XLS").Activar
Hojas("PROFORMA").Seleccionar
Rango("C1").Seleccionar
HojaActiva.Pegar
Aplicación.IrA Referencia:="Area_de_impresión"
Aplicación.ModoCortarCopiar = Falso
VentanaActiva.HojasSeleccionadas.CopiaImpresa Copias:=1
Ventanas("DIAS.XLS").Activar

Selección.Desviar(1; 0).Seleccionar

Siguiente I


Fin Proced



la nueva macro seria:


esto sería cuando genera documentos pdf
para los dias 13 y 21

Lo que observo es que no se me graba en la macro donde se guarda le pdf y el
nombre que le he dado...que seria 13a.pdf y 21a.pdf. en la unidad C:\Mis
Documentos\

¿como solventar esto?,

¿me podeis ayudar?




Sub kl()
'
' kl Macro
'

'
Range("C1").Select
ActiveCell.FormulaR1C1 = "13"
Range("C2").Select
Application.Goto Reference:="Print_Area"
Application.ActivePrinter = "PDF995 en Ne00:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"PDF995 en Ne00:", Collate:=True
ActiveWindow.LargeScroll Down:=-1
Range("C1").Select
ActiveCell.FormulaR1C1 = "21"
Range("C2").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub



Preguntas similares