Copiar ficheros excel automaticamente

29/04/2005 - 13:07 por Rantamplan | Informe spam
Buenas, estoy desarrollando una aplicación, la cual a una hora concreta
ejecutaba el método 'SaveAs' y se guardaba con un nombre concreto en una
ruta concreta, pero estoy viendo que no me sirve y quiero saber si puedo
que en vez de ejecutar un 'Guardar Como' puedo hacer que a la hora indicada
el archivo abierto se copie en una ruta específica y con un nombre
específico, pero con un pequeño matiz: Que en el archivo que se cree nuevo,
sólo se copien los valores, nada de fórmulas y si es posible, ni siquiera
contenga código VBA.
El motivo es porque el fichero original hace consultas a una BD industrial
mediante unos complementos instalados en el Excel por terceros y los
archivos que se vayan creando diariamente a partir de este serán abiertos
en otros PC'S que no tienen conexión a dicha BD ni tienen instalados esos
complementos por lo que al abrirlos saltan errores de código y
relaccionados con celdas que están capturando datos de la BD, y al no
encontrar la conexión muestran valores erróneos.

Gracias,
Salu2!.



"los videojuegos no tienen ninguna influencia sobre los niños.
Quiero decir, si el Pac-Man hubiese influenciado a nuestra generación, Cp
estaríamos todos corriendo en salas oscuras, masticando píldoras
mágicas y escuchando músicas electrónicas repetitivas".
Kristian Wilson, Nintendo Inc., 1989

Preguntas similare

Leer las respuestas

#1 KL
29/04/2005 - 14:00 | Informe spam
Hola Rantamplan,

Si en e;l modulo VBA de la hoja en cuestion no tiuenes codigo puedes probar
lo siguiente:

Public Sub GuardarComo2()
dia_actual = Format(Date, "d.mmmm.yyyy")
fichero = "c:\" + dia_actual + ".xls"
With ActiveSheet
.UsedRange.Value = .UsedRange.Value
.Copy
End With
With ActiveWorkbook
.SaveAs FileName:=fichero
.Close
End With
End Sub

Saludos,
KL

"Rantamplan" wrote in message
news:
Buenas, estoy desarrollando una aplicación, la cual a una hora concreta
ejecutaba el método 'SaveAs' y se guardaba con un nombre concreto en una
ruta concreta, pero estoy viendo que no me sirve y quiero saber si puedo
que en vez de ejecutar un 'Guardar Como' puedo hacer que a la hora
indicada
el archivo abierto se copie en una ruta específica y con un nombre
específico, pero con un pequeño matiz: Que en el archivo que se cree
nuevo,
sólo se copien los valores, nada de fórmulas y si es posible, ni siquiera
contenga código VBA.
El motivo es porque el fichero original hace consultas a una BD industrial
mediante unos complementos instalados en el Excel por terceros y los
archivos que se vayan creando diariamente a partir de este serán abiertos
en otros PC'S que no tienen conexión a dicha BD ni tienen instalados esos
complementos por lo que al abrirlos saltan errores de código y
relaccionados con celdas que están capturando datos de la BD, y al no
encontrar la conexión muestran valores erróneos.

Gracias,
Salu2!.



"los videojuegos no tienen ninguna influencia sobre los niños.
Quiero decir, si el Pac-Man hubiese influenciado a nuestra generación, Cp
estaríamos todos corriendo en salas oscuras, masticando píldoras
mágicas y escuchando músicas electrónicas repetitivas".
Kristian Wilson, Nintendo Inc., 1989
Respuesta Responder a este mensaje
#2 Rantamplan
29/04/2005 - 14:17 | Informe spam
"KL" Escribió el día vie 29 abr
2005 02:00:05p:

Hola Rantamplan,

Si en e;l modulo VBA de la hoja en cuestion no tiuenes codigo puedes
probar lo siguiente:

Public Sub GuardarComo2()
dia_actual = Format(Date, "d.mmmm.yyyy")
fichero = "c:\" + dia_actual + ".xls"
With ActiveSheet
.UsedRange.Value = .UsedRange.Value
.Copy
End With
With ActiveWorkbook
.SaveAs FileName:=fichero
.Close
End With
End Sub

Saludos,
KL

"Rantamplan" wrote in message
news:
Buenas, estoy desarrollando una aplicación, la cual a una hora
concreta ejecutaba el método 'SaveAs' y se guardaba con un nombre
concreto en una ruta concreta, pero estoy viendo que no me sirve y
quiero saber si puedo que en vez de ejecutar un 'Guardar Como' puedo
hacer que a la hora indicada
el archivo abierto se copie en una ruta específica y con un nombre
específico, pero con un pequeño matiz: Que en el archivo que se cree
nuevo,
sólo se copien los valores, nada de fórmulas y si es posible, ni
siquiera contenga código VBA.
El motivo es porque el fichero original hace consultas a una BD
industrial mediante unos complementos instalados en el Excel por
terceros y los archivos que se vayan creando diariamente a partir de
este serán abiertos en otros PC'S que no tienen conexión a dicha BD
ni tienen instalados esos complementos por lo que al abrirlos saltan
errores de código y relaccionados con celdas que están capturando
datos de la BD, y al no encontrar la conexión muestran valores
erróneos.

Gracias,
Salu2!.



"los videojuegos no tienen ninguna influencia sobre los niños.
Quiero decir, si el Pac-Man hubiese influenciado a nuestra
generación, Cp estaríamos todos corriendo en salas oscuras,
masticando píldoras mágicas y escuchando músicas electrónicas
repetitivas". Kristian Wilson, Nintendo Inc., 1989








Ok, gracias, una cuestión:

With ActiveSheet
.UsedRange.Value = .UsedRange.Value
.Copy
End With

El fichero tiene 3 hojas recopilando datos, por lo tanto, podría
sustituir 'ActiveSheet' por 'ActiveWorbook' para que me seleccione todos
los rangos usados en todas las hojas??, algo sí como:

With ActiveWorkbook
.UsedRange.Value = .UsedRange.Value
.Copy
End With

Salu2!.

"los videojuegos no tienen ninguna influencia sobre los niños.
Quiero decir, si el Pac-Man hubiese influenciado a nuestra generación,
estaríamos todos corriendo en salas oscuras, masticando píldoras
mágicas y escuchando músicas electrónicas repetitivas".
Kristian Wilson, Nintendo Inc., 1989
Respuesta Responder a este mensaje
#3 Rantamplan
29/04/2005 - 14:24 | Informe spam
"KL" Escribió el día vie 29 abr
2005 02:00:05p:

Hola Rantamplan,

Si en e;l modulo VBA de la hoja en cuestion no tiuenes codigo puedes
probar lo siguiente:

Public Sub GuardarComo2()
dia_actual = Format(Date, "d.mmmm.yyyy")
fichero = "c:\" + dia_actual + ".xls"
With ActiveSheet
.UsedRange.Value = .UsedRange.Value
.Copy
End With
With ActiveWorkbook
.SaveAs FileName:=fichero
.Close
End With
End Sub

Saludos,
KL

"Rantamplan" wrote in message
news:
Buenas, estoy desarrollando una aplicación, la cual a una hora
concreta ejecutaba el método 'SaveAs' y se guardaba con un nombre
concreto en una ruta concreta, pero estoy viendo que no me sirve y
quiero saber si puedo que en vez de ejecutar un 'Guardar Como' puedo
hacer que a la hora indicada
el archivo abierto se copie en una ruta específica y con un nombre
específico, pero con un pequeño matiz: Que en el archivo que se cree
nuevo,
sólo se copien los valores, nada de fórmulas y si es posible, ni
siquiera contenga código VBA.
El motivo es porque el fichero original hace consultas a una BD
industrial mediante unos complementos instalados en el Excel por
terceros y los archivos que se vayan creando diariamente a partir de
este serán abiertos en otros PC'S que no tienen conexión a dicha BD
ni tienen instalados esos complementos por lo que al abrirlos saltan
errores de código y relaccionados con celdas que están capturando
datos de la BD, y al no encontrar la conexión muestran valores
erróneos.

Gracias,
Salu2!.



"los videojuegos no tienen ninguna influencia sobre los niños.
Quiero decir, si el Pac-Man hubiese influenciado a nuestra
generación, Cp estaríamos todos corriendo en salas oscuras,
masticando píldoras mágicas y escuchando músicas electrónicas
repetitivas". Kristian Wilson, Nintendo Inc., 1989







Vale, me respondo yo mismo:
al cambiar el codigo a esto:

Public Sub GuardarComo2()
dia_actual = Format(Date, "d.mmmm.yyyy")
fichero = "c:\" + dia_actual + ".xls"
With ActiveWorkbook
hoja1.UsedRange.Value = hoja1.UsedRange.Value
hoja3.UsedRange.Value = hoja3.UsedRange.Value
hoja4.UsedRange.Value = hoja4.UsedRange.Value
.Copy
End With
With ActiveWorkbook
.SaveAs FileName:=fichero
.Close
End With
End Sub

se produce: Error(6) - Desbordamiento. ¿Alguna forma de solucionarlo?

"los videojuegos no tienen ninguna influencia sobre los niños.
Quiero decir, si el Pac-Man hubiese influenciado a nuestra generación,
estaríamos todos corriendo en salas oscuras, masticando píldoras
mágicas y escuchando músicas electrónicas repetitivas".
Kristian Wilson, Nintendo Inc., 1989
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida