Excel - Evitar un aviso del Sistema

 
Vista:

Evitar un aviso del Sistema

Publicado por Juan Gomez Caro (35 intervenciones) el 17/09/2007 19:35:48
Hola amigos, a ver como me solucionan ustedes este problema:
¿Cómo puedo evitar que salga el aviso informativo de Microsoft Excel? “BlocDat.xls• ya está abierto. Si lo vuelve a abrir perderá los cambios que no haya guarddo. ¿Desea volver a abrir BlocDat.xls? <Boton SI> <Boton NO>

El error lo tengo controlado por programación ya que es el error 1004.
Gracias y
saludos de Juan de Sevilla
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Evitar un aviso del Sistema

Publicado por Fernando (231 intervenciones) el 17/09/2007 23:27:47
Hola !!!

Te recomiendo que pruebes con la siguiente instrucción:

Application.DisplayAlerts = False

Saludos,
Fernando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Evitar un aviso del Sistema

Publicado por Juan Gomez Caro (35 intervenciones) el 18/09/2007 00:19:57
Funciona el que no aparezca el aviso del Sistema, pero el control del error 1004 que yo tenia controlado por el programa ya no salta y siempreme abre de nuevo el fichero, perdiendo la modifcaciones que tenia.
Por lo tanto el problema que tenia lo sigo teniendo, que consiste en detectar el fichero que está abierto para no abrirlo de nuevo.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Evitar un aviso del Sistema

Publicado por Fernando (231 intervenciones) el 18/09/2007 02:12:48
Entonces te recomiendo lo siguiente,
Definir una variable como objeto Workbook, para modo de ejemplo lo llamaré "LibroBuscado".
Ahora definir una variable para contar el numero de Workbooks abiertos, la llamaré Contador.

Luego Contador = Workbooks.count

Luego...

For i = 1 to Contardor
Set LibroBuscado = Workbooks( i )
If LibroBuscado.name = "Aquí pones el nombre del libro" then
exit sub
Next i

Por lo tanto, verificamos todos los libros abiertos en el sistema, y luego verificamos de uno por uno que no esté abierto el libro que consultas.

Si el libro está abierto, "Sales del Procedimiento", de lo contrario sigues buscando entre tus libros abiertos.

Contamos y luego verificamos, buen metodo,

Saludos,

Fernando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Evitar un aviso del Sistema

Publicado por Juan Gomez Caro (35 intervenciones) el 18/09/2007 22:44:55
Intento probar codificacion de Fernando, según mis cortos conocimientos, y me da el siguiente resultado:
Private Sub cmdFernando_Click()
On Error GoTo Err_Fernando_Click
Dim contador As Workbook
Dim LibroBuscado As Workbook
contador = Workbooks.Count 'En esta instruccion me da el error 91: Variable de objeto o bloque With no establecido
For i = 1 To contador
Set LibroBuscado = Workbooks(i)
If LibroBuscado.Name = "EnSe" Then
Exit Sub
Else
End If
Next i

Exit Sub

Err_Fernando_Click:
Stop
MsgBox Err.Number
MsgBox Err.Description
Resume Next
End Sub

Saludos de Juan de Sevilla
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Evitar un aviso del Sistema

Publicado por Juan Gómez Caro (35 intervenciones) el 20/09/2007 16:32:47
La solucion que le he dado es:

Sub CerrarActivo()
For Each book In Workbooks
If book.Name <> ActiveWorkbook.Name Then book.Save
Next book

For Each book In Workbooks
If book.Name <> ActiveWorkbook.Name Then book.Close 'como ya está Salvado al cerrarlo no pide confirmacion de SI o NO
Next book
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar