inputbox

Angela
14 de Julio del 2003
Hola, me gustaría saber como puedo hacer para que los botones Aceptar y Cancelar de un Inputbox hagan realicen las sentencias que yo quiera en funcion del botón que pulses.
Es decir: si pulsas aceptar que haga x; si pulsas cancelar que haga y.
Gracias por adelantado.

ana
14 de Julio del 2003
Hola Angela:
No se si lo que preguntas es lo siguiente:
Tienes dos botones uno cancelar y otro aceptar.
Cuando pulse cancelar tiene que irse a la funcion de cancelar y si es aceptar se va a la función aceptar, no tiene más misterio.
Pero si es un botón en el cual pone cancelar y cambias la caption a aceptar, es facil, dentro de la función preguntas por el caption del botón y si es aceptar le mandas que realice una cosa y sino la otra.

Si lo que te he dicho, no coincide con lo que preguntas, hazmelo saber.

Saludos

yo_mismo
14 de Julio del 2003
La solucion es la siguiente: no se trata de saber el botn que ha presionado, simplemente si el usuario hace clic en Aceptar o presiona ENTRAR, la función InputBox devuelve lo que haya en el cuadro de texto. Si el usuario hace clic en Cancelar, la función devuelve una cadena de caracteres de longitud cero ("").

Private Sub Button1_Click()

Dim res As String
res = InputBox("Introduce un texto", "Titulo")
If res = "" Then
MsgBox("Has presionado CANCELAR")
Else
MsgBox("Has presionado ACEPTAR")
End If
End Sub

Aunque esto tiene el "problema" de que si le das a aceptar y el cuadro de texto estaba vacio te marcaria como si hubieras presionado cancelar.

Espero haberte ayudado.

Angela
14 de Julio del 2003
Efectivamente... eso es lo que me pasa. Cuando la caja de texto está vacía los dos botones (Aceptar y Cancelar) me dan el mismo resultado y yo lo que quiero es que cuando presione Cancelar salga de la aplicación.
Puedes ayudarme?
Gracias.

Eduardo
14 de Julio del 2003
Lo mejor que puedes hacer es crear tu propio inputbox, con un formulario, le colocas dos botones, una label, y si quieres que introduzcan un texto, un textbox. Cuando la llames la llamas asi: Form1.show vbmodal, esto hará que no puedas hacer otra cosa hasta que presiones Aceptar o Cancelar, para saber cual pulso usas el evento click de los botones y almacenas en alguna variable global la respuesta.
Suerte!

Raquel
14 de Julio del 2003
dim opcion as integer


opcion=Inputbox("pregunta",vbOkCancel)
if opcion=vbOk then
'Hace x
else
if opcion=vbCancel then
'hace y
end if
end if

Espero haberte sido de ayuda. Chao!!

Raquel
14 de Julio del 2003
dim opcion as integer
opcion=Inputbox("pregunta",vbOkCancel)
if opcion=vbOk then
'Hace x
else
if opcion=vbCancel then
'hace y
end if
end if

Espero haberte sido de ayuda. Chao!!

Eduardo
14 de Julio del 2003
dim opcion as integer
opcion=Msgbox("pregunta",vbOkCancel)
if opcion=vbOk then
'Hace x
else
if opcion=vbCancel then
'hace y
end if

'No Funciona con InputBox, usa Msgbox

jose
14 de Julio del 2003
1ro dejas de hacer lo q estabas haciendo
2do metanse el dedo en el culo
3ro he hay la respuesta a todos sus problemas

"""la mierda"""