Hola Experto

Hola Soy Antonio,
Tengo una macro en el archivo "adop111521.xls" que ejecuto por medio de un botón y que al llegar el día Ejem. 20/07/2009 abre el archivo "SavePLANTILLA", esta al abrirse se ejecuta una macro para cerrar el archivo "adop111521.xls" y una vez que se ha cerrado (hasta aquí llega la macro) el archivo "adop111521.xls" debe ejecutar otro procedimiento que se encargada de eliminar el archivo "adop111521.xls" que cerramos anteriormente, aquí esta el problema, se para la macro completamente, cabe mencionar que si ejecuto el código desde el editor de visual desde el archivo "SavePLANTILLA" si lo hace todo o si abro independiente el archio "SavePLANTILLA" también se ejecutoa bien.
Aquí te dejo mi código para ver si puedes ayudarme. De antemano muchas gracias por su apoyo.
CÓDIGO QUE TENGO EN THISWORKBOOK de "SavePLANTILLA"
 
Private Sub Workbook_Open()
Call BorrPLANTILLA
End Sub
CODIGO QUE TENGO EN EL MODULO 1
Sub BorrPLANTILLA()
'
MsgBox file & " CON ESTA CIERRO ARCHIVO, LO CIERRA Y YA NO HACE ALGO"
Workbooks("adop111521.xls").Close
Si el archivo "adop111521.xls" estaba abierto, el código llega hasta la línea anterior, pero si lo ejecuto desde el modulo de Visual o el archive esta cerrado si hace todo, no se cual es el problema
MsgBox file & " EJECUTA BUSCAR ARCHIVO"
Call FileExists
End Sub
Sub FileExists()
'Primero se verifica que el archivo exista
Dim fso
Dim file As String
'Workbooks("adop111521.xls").Close
file = "C:\mac\instalacion\sistema\adop111521.xls" ' change to match the file w/Path
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FileExists(file) Then
MsgBox file & " was not located.", vbInformation, "File Not Found"
Else
MsgBox file & " has been located.", vbInformation, "File Found"
Call DeleteFile
End If
End Sub
Sub DeleteFile()
'Luego se procede a borrarlo
Dim fso
Dim file As String
file = "C:\mac\instalacion\sistema\adop111521.xls" ' change to match the file w/Path
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(file) Then
fso.DeleteFile file, True
Else
MsgBox file & " does not exist or has already been deleted!" _
, vbExclamation, "File not Found"
End If
End Sub

1 respuesta

Respuesta
1
Deberías hacerle una rutina que verifique si el archivo está abierto o no.
Gracias por tu ayuda, pero aquí lo resolví de otra manera, mi logiaca estaba incorrecta, en este caso es necesario hacer una archivo que se ejecute al abrir y si se cumple la condición elimine al archivo que deseo, en caso contrario, que lo abra y ejecute las macros que contiene.
Gracias por tu apoyo amigo, que tengas buen día.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas