Problemas con las rutas

22/02/2006 - 16:50 por Adolfo | Informe spam
Hola gente:

Estoy intentando hacer los siguiente, tengo un archivo del cual tengo que
sacar una serie de datos, para evitar tener que mandar todo el archivo de un
lado para otro, he pensado que lo mejor es exportar los datos del mismo en
un archivo "csv", lo cual reduce considerablemente el tamaño. Como todos los
datos estan en una única hoja no hay problema a la hora de generera el
archivo. Como lo que necesito es automatizarlo gracias al grabador de macros
he sacado el siguiente código:

ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\Administrador\Mis
documentos\Corrector2.csv" _
, FileFormat:=xlCSVMSDOS, CreateBackup:=False

El cual funciona perfectamente. Pero puestos a pedir lo que necesito es que
me genere un archivo csv en el mismo directorio donde esta el archivo xls y
ademas quiero que el nombre de ese archivo sea el que viene en la celda a1
de la hoja 1. Yo he retocado el código y he llegado hasta lo siguiente:

RUTA = ThisWorkbook.Path
ARCHIVO = Hoja1.Cells(1, 1) & ".CSV"
RUTA = RUTA & "\" & ARCHIVO
ActiveWorkbook.SaveAs Filename:=RUTA & ", FileFormat:=xlCSVMSDOS,
CreateBackup:=False"

Pero me da el siguiente mensaje de error:

Se ha producido el error 1004 en tiempo de ejecución:
No se puede tener acceso al archivo. Intente lo siguiente:
Compruebe que la carpeta especificada existe
Compruebe que la carpeta que contiene el archivo no es de solo lectura
Compruebe que el archivo no contiene ninguno de los siguientes caracteres:<>
? []:*

El nombre que esta dentro de la celda A1 es el mismo que aparece mas arriba,
con lo cual no tiene ninguno de esos signos.

¿Alguien me puede echar una mano y decirme que es lo que estoy haciendo
mal?. Si alguien ha realizado algo parecido tambien estoy abierto a nuevas
ideas (aunque sean totalmente diferentes)

Un saludo y gracias por anticipado.
 

Leer las respuestas

#1 Héctor Miguel
23/02/2006 - 07:14 | Informe spam
hola, Adolfo !

[segun se aprecia]... el error 1004 lo hace 'saltar' la sentencia donde haces el 'SaveAs'...
la 'razon' ?... estas agregando un signo de concatenacion ->&<- y 'entre-comillando' el resto de la sentencia...
[con lo cual]... dicho 'agregado' pasa a formar parte del nombre del archivo [Y SI contiene los caracteres ->:<-] <= OJO

prueba a modificar la linea donde haces el 'SaveAs'...
de: -> ActiveWorkbook.SaveAs Filename:=RUTA & ", FileFormat:=xlCSVMSDOS, CreateBackup:=False"
a: -> ActiveWorkbook.SaveAs Filename:=RUTA, FileFormat:=xlCSVMSDOS, CreateBackup:=False

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
=> ... necesito... que me genere un archivo csv en el mismo directorio donde esta el archivo xls
yademas quiero que el nombre de ese archivo sea el que viene en la celda a1 de la hoja 1.
Yo he retocado el codigo y he llegado hasta lo siguiente:
RUTA = ThisWorkbook.Path
ARCHIVO = Hoja1.Cells(1, 1) & ".CSV"
RUTA = RUTA & "\" & ARCHIVO
ActiveWorkbook.SaveAs Filename:=RUTA & ", FileFormat:=xlCSVMSDOS, CreateBackup:=False"
Pero me da el siguiente mensaje de error:
Se ha producido el error 1004 en tiempo de ejecución:
No se puede tener acceso al archivo. Intente lo siguiente:
Compruebe que la carpeta especificada existe
Compruebe que la carpeta que contiene el archivo no es de solo lectura
Compruebe que el archivo no contiene ninguno de los siguientes caracteres:<>? []:*
El nombre que esta dentro de la celda A1 es el mismo que aparece mas arriba, con lo cual no tiene ninguno de esos signos.
Alguien me puede echar una mano y decirme que es lo que estoy haciendo mal?...

Preguntas similares