salir

17/10/2006 - 21:37 por SantiRv | Informe spam
he planteado el codigo que muestra al final con el objetivo de salir de
mi aplicacion con una macro.
La duda se me ha planteado con los if para poder hacer que funcione
correctamente, a partir de cdo elijo salir de la aplicacion.,es decir
que me guarde si lo solicite y si no que no lo haga y no me muestre el
display de alerta.


Sub SALIR()
'
' SALIR Macro
' Santi
'

'
Dim RespuestaSalir As Integer
Dim RespuestaGuardar As Integer

RespuestaSalir = MsgBox("¿Quieres seguir?", _
vbQuestion + vbYesNo, "Información importante")
If RespuestaSalir = vbYes Then
Exit Sub
Else
RespuestaGuardar = MsgBox("¿Quieres Guardar?", _
vbQuestion + vbYesNo, "Guardar Cambios")
If RespuestaSalir = vbYes Then
Application.ActiveWorkbook.Save
Exit Sub
End If
MsgBox "Gracias por Utilizar El Software"

Application.DisplayFullScreen = False

Application.Quit

End If

End Sub


__________________________________________________
Gracias
 

Leer las respuestas

#1 Héctor Miguel
18/10/2006 - 19:46 | Informe spam
hola, Santiago !

he planteado el codigo que muestra al final con el objetivo de salir de mi aplicacion con una macro.
La duda se me ha planteado con los if para poder hacer que funcione correctamente
a partir de cdo elijo salir de la aplicacion... que me guarde si lo solicite y si no que no lo haga y no me muestre el display de alerta.



si revisas la 'logica' del codigo que expones, te vas a encontrar lo siguiente:

1) si 'RespuestaSalir' es vbYes, hay una instruccion 'Exit Sub' y el resto del procedimiento ya no se ejecuta [esto es ok.]

2) si 'RespuestaGuardar' es vbYes... el procedimiento 'deberia' de proceder con el '.Save' PERO...
a) la 'comparacion' la estas haciendo 'versus' OTRA variable:
-> If RespuestaSalir = vbYes Then [supongo que aqui deberia ser: -> If RespuestaGuardar = vbYes Then
b) AUN corrigiendo a la variable adecuada... -> le sigue OTRA instruccion: -> 'Exit Sub' [elimina la salida] ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ el codigo expuesto __
Sub SALIR()
Dim RespuestaSalir As Integer
Dim RespuestaGuardar As Integer
RespuestaSalir = MsgBox("¿Quieres seguir?", _
vbQuestion + vbYesNo, "Información importante")
If RespuestaSalir = vbYes Then
Exit Sub
Else
RespuestaGuardar = MsgBox("¿Quieres Guardar?", _
vbQuestion + vbYesNo, "Guardar Cambios")
If RespuestaSalir = vbYes Then
Application.ActiveWorkbook.Save
Exit Sub
End If
MsgBox "Gracias por Utilizar El Software"
Application.DisplayFullScreen = False
Application.Quit
End If
End Sub

Preguntas similares