Buenas tardes amigos del foro, por favor solicito ayuda con una macro, la he creado en excel 2013, actualize mi office a 2016 y mi libro lo guarde como archivo binario, todas las macros me funcionan bien menos una, la describo a continuacion...
Const archivoInicial = "C:\windows\prueba.txt"
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim W As Worksheet, Sh As String
Application.ScreenUpdating = False
Sh = ActiveSheet.Name
For Each W In ThisWorkbook.Worksheets
If W.Name <> Sh Then
W.Visible = True
End If
Next W
Application.ScreenUpdating = True
If ThisWorkbook.ReadOnly = True Then
ThisWorkbook.Close False
End If
End Sub
como veran se trata de que no abra el libro si no encuentra el archivo prueba.txt dentro del directorio windows.... lo he probado varias veces sin ese archivo, pero lo abre igual, siendo que no deberia abrirlo, por favor, alguien sabe donde esta el error?
¿Pero dónde compruebas si existe o no el archivo prueba.txt?
En el código sólo se define una constante con la ruta al archivo, pero no se hace nada con esa constante
El código que incluyes aquí es el del evento Before_Close, es decir, antes de cerrar
Supongo que si lo que quieres es impedir el archivo, el código debería estar en el evento "al abrir" el archivo, Open, para que lo compruebe al principio
------
Ya sé Excel, pero necesito más.
Buenas tardes amigo, gracias por su respuesta, la verdad es que entiendo poco de programacion, este codigo me lo pasaron en una ayuda anterior, la macro deberia buscar el archivo prueba.txt dentro del directorio de windows, en caso de encontrarlo abrir el archivo y en caso de que no lo encuentre cerrar el archivo de excel....
Si ve usted algo errado, podria ayudarme enunciando nuevamente el codigo?
una vez mas gracias, aguardo su comentario.