Perdon y pregunta a KL s/ imprimir en pdf guardando como

31/01/2006 - 18:08 por Ralf | Informe spam
Primero disculparme por no seguir el hilo, pero es que mi outlook no me deja
(cosas de micro)
Me enviaste la macro para poder imprimir en pdf siguiente:
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:", _
PrintToFile:= True, _
PrToFileName:= Environ("userprofile") & "\Mis Documentos\" &
i & "a.pdf"
End With
Next i
End Sub


Pero el problema es que en excel 97 creo que la funcion de vba PrToFileName,
no existe. Por otra parte me gustaría (si puede ser) que el nombre del
fichero no se construyera con la variable "i" sino con el dato del contenido
de la celda sita en c1 y que se recorre 31 posiciones.

¿Es `posible? Gracias
 

Leer las respuestas

#1 KL
31/01/2006 - 23:39 | Informe spam
Hola Ralf,

Pero el problema es que en excel 97 creo que la funcion de vba PrToFileName,
no existe.



Al margen de que PrToFileName no es una funcion sino un parametro del metodo PrintOut lo que dices es cierto: tanto que no existe
como que es un problema :-) Creo que va a ser dificil [por no decir imposible] evitar meter los nombres de archivos manualmente.

que el nombre del
fichero no se construyera con la variable "i" sino con el dato del contenido
de la celda sita en c1 y que se recorre 31 posiciones.



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:", _
PrintToFile:= True, _
PrToFileName:= Environ("userprofile") & _
"\Mis Documentos\" & .Range("C1") _
& "a.pdf"
End With
Next i
End Sub

Saludos,
KL

Preguntas similares