Modificar macro a principiante

02/11/2004 - 19:03 por osalazarg | Informe spam
Tengo esta macro la cual antes me funcionaba bien, alguien me podria
ayudar a corregirla por favor.

Sub Descomprimir_Una_Solucion()
Dim Del_Directorio, Al_Directorio, Archivo As String, X As Integer,
Descomprime As String, EsteArchivo As String, Comando As String
Del_Directorio = Array("s:\", "t:\", "u:\")
Al_Directorio = Array("c:\sief01l", "c:\sief02vl", "c:\siefbas1")
Archivo = "RS" & Format(Date, "ddmmyy") & ".zip -d "
Descomprime = ActiveWorkbook.Path & "\unzip.exe -o "
For X = 0 To UBound(Del_Directorio)
EsteArchivo = Del_Directorio(X) & Archivo
Comando = Descomprime & EsteArchivo & Al_Directorio(X)
Shell Environ("comspec") & " /c " & Comando
Next
End Sub


pero ahora me cambiaron el nombre de los archivos y la quise modificar
asi, pero me envia error.
"Se ha producido el error '13' en tiempo de ejecucion:
No coinciden los tipos


Sub Descomprimir_3_Soluciones()
Dim Del_Directorio, Al_Directorio, Archivo As String, X As Integer,
Descomprime As String, EsteArchivo As String, Comando As String
Del_Directorio = Array("s:\", "t:\", "u:\")
Al_Directorio = Array("c:\sief01l", "c:\sief02vl", "c:\siefbas1")

Aqui me envia error

Archivo = Array("B1", "V1", "B2") & Format(Date, "ddmmyy") & ".zip -d"


Descomprime = ActiveWorkbook.Path & "\unzip.exe -o "
For X = 0 To UBound(Del_Directorio)
EsteArchivo = Del_Directorio(X) & Archivo
Comando = Descomprime & EsteArchivo & Al_Directorio(X)
Shell Environ("comspec") & " /c " & Comando
Next
End Sub

Preguntas similare

Leer las respuestas

#1 KL
02/11/2004 - 21:29 | Informe spam
Hola,

No se q es lo q quires conseguir con
Archivo = Array("B1", "V1", "B2") & Format(Date, "ddmmyy") & ".zip -d"

pero no puedes utilizar Array() para la variable Archivo por dos razones
basicas:
1. La variable Archivo esta declarada como Cadena de Texto (String) y no
como Serie (Array) en la primera linea de tu codigo.
2. No puedes mezclar serie (array) con cadena de texto (string) asi como asi

Si explicas lo q quires conseguir en esta linea quizas te podamos ayudar.

De momento he intentado adivinarlo y te pongo el codigo q igual es lo q
quieres (no lo he probado):

Sub Descomprimir_3_Soluciones()
Dim Del_Directorio, Al_Directorio, Nombre_Archivo, _
X As Integer, Descomprime As String, EsteArchivo As String, _
Comando As String
Del_Directorio = Array("s:\", "t:\", "u:\")
Al_Directorio = Array("c:\sief01l", "c:\sief02vl", "c:\siefbas1")
Nombre_Archivo = Array("B1", "V1", "B2")
Descomprime = ActiveWorkbook.Path & "\unzip.exe -o "
For X = 0 To UBound(Del_Directorio)
EsteArchivo = Del_Directorio(X) & Nombre_Archivo(X) _
& Format(Date, "ddmmyy") & ".zip -d"
Comando = Descomprime & EsteArchivo & Al_Directorio(X)
Shell Environ("comspec") & " /c " & Comando
Next
End Sub

saludos,
KL

"sago" wrote in message
news:
Tengo esta macro la cual antes me funcionaba bien, alguien me podria
ayudar a corregirla por favor.

Sub Descomprimir_Una_Solucion()
Dim Del_Directorio, Al_Directorio, Archivo As String, X As Integer,
Descomprime As String, EsteArchivo As String, Comando As String
Del_Directorio = Array("s:\", "t:\", "u:\")
Al_Directorio = Array("c:\sief01l", "c:\sief02vl", "c:\siefbas1")
Archivo = "RS" & Format(Date, "ddmmyy") & ".zip -d "
Descomprime = ActiveWorkbook.Path & "\unzip.exe -o "
For X = 0 To UBound(Del_Directorio)
EsteArchivo = Del_Directorio(X) & Archivo
Comando = Descomprime & EsteArchivo & Al_Directorio(X)
Shell Environ("comspec") & " /c " & Comando
Next
End Sub


pero ahora me cambiaron el nombre de los archivos y la quise modificar
asi, pero me envia error.
"Se ha producido el error '13' en tiempo de ejecucion:
No coinciden los tipos


Sub Descomprimir_3_Soluciones()
Dim Del_Directorio, Al_Directorio, Archivo As String, X As Integer,
Descomprime As String, EsteArchivo As String, Comando As String
Del_Directorio = Array("s:\", "t:\", "u:\")
Al_Directorio = Array("c:\sief01l", "c:\sief02vl", "c:\siefbas1")

Aqui me envia error

Archivo = Array("B1", "V1", "B2") & Format(Date, "ddmmyy") & ".zip -d"


Descomprime = ActiveWorkbook.Path & "\unzip.exe -o "
For X = 0 To UBound(Del_Directorio)
EsteArchivo = Del_Directorio(X) & Archivo
Comando = Descomprime & EsteArchivo & Al_Directorio(X)
Shell Environ("comspec") & " /c " & Comando
Next
End Sub

Respuesta Responder a este mensaje
#2 KL
02/11/2004 - 21:32 | Informe spam
Hola,

No se q es lo q quires conseguir con
Archivo = Array("B1", "V1", "B2") & Format(Date, "ddmmyy") & ".zip -d"

pero no puedes utilizar Array() para la variable Archivo por dos razones
basicas:
1. La variable Archivo esta declarada como Cadena de Texto (String) y no
como Serie (Array) en la primera linea de tu codigo.
2. No puedes mezclar serie (array) con cadena de texto (string) asi como asi

Si explicas lo q quires conseguir en esta linea quizas te podamos ayudar.

De momento he intentado adivinarlo y te pongo el codigo q igual es lo q
quieres (no lo he probado):

Sub Descomprimir_3_Soluciones()
Dim Del_Directorio, Al_Directorio, Nombre_Archivo, _
X As Integer, Descomprime As String, EsteArchivo As String, _
Comando As String
Del_Directorio = Array("s:\", "t:\", "u:\")
Al_Directorio = Array("c:\sief01l", "c:\sief02vl", "c:\siefbas1")
Nombre_Archivo = Array("B1", "V1", "B2")
Descomprime = ActiveWorkbook.Path & "\unzip.exe -o "
For X = 0 To UBound(Del_Directorio)
EsteArchivo = Del_Directorio(X) & Nombre_Archivo(X) _
& Format(Date, "ddmmyy") & ".zip -d"
Comando = Descomprime & EsteArchivo & Al_Directorio(X)
Shell Environ("comspec") & " /c " & Comando
Next
End Sub

saludos,
KL

"sago" wrote in message
news:
Tengo esta macro la cual antes me funcionaba bien, alguien me podria
ayudar a corregirla por favor.

Sub Descomprimir_Una_Solucion()
Dim Del_Directorio, Al_Directorio, Archivo As String, X As Integer,
Descomprime As String, EsteArchivo As String, Comando As String
Del_Directorio = Array("s:\", "t:\", "u:\")
Al_Directorio = Array("c:\sief01l", "c:\sief02vl", "c:\siefbas1")
Archivo = "RS" & Format(Date, "ddmmyy") & ".zip -d "
Descomprime = ActiveWorkbook.Path & "\unzip.exe -o "
For X = 0 To UBound(Del_Directorio)
EsteArchivo = Del_Directorio(X) & Archivo
Comando = Descomprime & EsteArchivo & Al_Directorio(X)
Shell Environ("comspec") & " /c " & Comando
Next
End Sub


pero ahora me cambiaron el nombre de los archivos y la quise modificar
asi, pero me envia error.
"Se ha producido el error '13' en tiempo de ejecucion:
No coinciden los tipos


Sub Descomprimir_3_Soluciones()
Dim Del_Directorio, Al_Directorio, Archivo As String, X As Integer,
Descomprime As String, EsteArchivo As String, Comando As String
Del_Directorio = Array("s:\", "t:\", "u:\")
Al_Directorio = Array("c:\sief01l", "c:\sief02vl", "c:\siefbas1")

Aqui me envia error

Archivo = Array("B1", "V1", "B2") & Format(Date, "ddmmyy") & ".zip -d"


Descomprime = ActiveWorkbook.Path & "\unzip.exe -o "
For X = 0 To UBound(Del_Directorio)
EsteArchivo = Del_Directorio(X) & Archivo
Comando = Descomprime & EsteArchivo & Al_Directorio(X)
Shell Environ("comspec") & " /c " & Comando
Next
End Sub

Respuesta Responder a este mensaje
#3 Héctor Miguel
03/11/2004 - 04:29 | Informe spam
hola, sago !

... esta macro ... antes me funcionaba bien ... pero ahora me cambiaron el nombre de los archivos
... la quise modificar ... pero me envia error '13' en tiempo de ejecucion: No coinciden los tipos [...]
Sub Descomprimir_Una_Solucion()
Dim Del_Directorio, Al_Directorio, Archivo As String, X As Integer, [...]
Archivo = "RS" & Format(Date, "ddmmyy") & ".zip -d " [...]
[... mas codigo en el procedimiento ...]
End Sub

Sub Descomprimir_3_Soluciones()
Dim Del_Directorio, Al_Directorio, Archivo As String, X As Integer, _
Descomprime As String, EsteArchivo As String, Comando As String
Del_Directorio = Array("s:\", "t:\", "u:\")
Al_Directorio = Array("c:\sief01l", "c:\sief02vl", "c:\siefbas1")
Aqui me envia error
Archivo = Array("B1", "V1", "B2") & Format(Date, "ddmmyy") & ".zip -d"
[... mas codigo en el procedimiento ...]
End Sub



1º como ya te lo ha comentado KL...
el error 13 'asoma' por el tipo [string] asignado y la matriz [array] con la que se 'llena' la variable 'archivo'
2º ANTES se trataba de UN SOLO [y el mismo] nombre de ARCHIVO EN TRES UBICACIONES 'distintas'
AHORA mencionas TRES [nombres de] ARCHIVOS 'diferentes'... =>pero no mencionas si...< a) cada uno de los nombres [de archivos] se corresponde con las ubicaciones de 'origen' y 'destino' o...
b) los tres archivos se encuentras [todos] en las tres ubicaciones de 'origen' y 'destino' [9 en total]
3º 'dependiendo' de cual es la necesidad 'real' [a / b] 'tendria que' modificarse la macro a...
a) incluir el nombre 'base' del archivo en las variables de 'origen' [del_directorio] y 'destino' [al_directorio]
b) agregar un bucle intermedio [fornext] para construir los tres archivos en los tres directorios [9 en total]

¿comentas?
saludos,
hector.
Respuesta Responder a este mensaje
#4 osalazarg
03/11/2004 - 17:34 | Informe spam
Muchas gracias por ayudarme y respondeme a los dos Lo único que cambia son
las dos primeras letras del archivo, el primer archivo esta en

s:\ B2031104.zip y se necesita descompactar en c:\sief01l

el segundo archivo


t:\ V1031104.zip y se necesita descompactar en c:\sief02vl

el tercer archivo

u:\ B1031104.zip y se necesita descompactar en c:\siefbas1


a) cada uno de los nombres [de archivos] se corresponde con las ubicaciones
de 'origen' y 'destino' o...

Los archivos estan en estos directorios y van a estos directorios


Del_Directorio Al_Directorio Nombre_Archivo
Origen destino

s:\ c:\sief01l B2 & Format(Date, "ddmmyy")
t:\ c:\sief02vl V1 & Format(Date, "ddmmyy")
u:\ c:\siefbas1 B1 & Format(Date, "ddmmyy")

b) los tres archivos se encuentras [todos] en las tres ubicaciones de
'origen' y 'destino' [9 en total]

No solo cada uno en cada directorio, como se ve el la tabla de arriba

Espero haberme hecho entender y no hacerlos mas bolas, y otra vez muchas
gracias.
Respuesta Responder a este mensaje
#5 KL
03/11/2004 - 22:43 | Informe spam
sago,

en este caso puedes utilizar el macro q te puse antes o la version mas
elegante q entiendo q proponia Hector q te expongo mas abajo:

Sub Descomprimir_3_Soluciones()
Dim Del_Directorio, Al_Directorio, X As Integer, _
Descomprime As String, EsteArchivo As String, _
Comando As String
Del_Directorio = Array("s:\B1", "t:\V1", "u:\B2")
Al_Directorio = Array("c:\sief01l", "c:\sief02vl", "c:\siefbas1")
Descomprime = ActiveWorkbook.Path & "\unzip.exe -o "
For X = 0 To UBound(Del_Directorio)
EsteArchivo = Del_Directorio(X) & Format(Date, "ddmmyy") & ".zip -d"
Comando = Descomprime & EsteArchivo & Al_Directorio(X)
Shell Environ("comspec") & " /c " & Comando
Next
End Sub

saludos,
KL


"sago" wrote in message
news:
Muchas gracias por ayudarme y respondeme a los dos Lo único que cambia son
las dos primeras letras del archivo, el primer archivo esta en

s:\ B2031104.zip y se necesita descompactar en c:\sief01l

el segundo archivo


t:\ V1031104.zip y se necesita descompactar en c:\sief02vl

el tercer archivo

u:\ B1031104.zip y se necesita descompactar en c:\siefbas1


a) cada uno de los nombres [de archivos] se corresponde con las
ubicaciones
de 'origen' y 'destino' o...

Los archivos estan en estos directorios y van a estos directorios


Del_Directorio Al_Directorio Nombre_Archivo
Origen destino

s:\ c:\sief01l B2 & Format(Date, "ddmmyy")
t:\ c:\sief02vl V1 & Format(Date, "ddmmyy")
u:\ c:\siefbas1 B1 & Format(Date, "ddmmyy")

b) los tres archivos se encuentras [todos] en las tres ubicaciones de
'origen' y 'destino' [9 en total]

No solo cada uno en cada directorio, como se ve el la tabla de arriba

Espero haberme hecho entender y no hacerlos mas bolas, y otra vez muchas
gracias.



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida