Ayuda con VBScript

Iniciado por .:Xx4NG3LxX:., 22 Diciembre 2019, 19:04 PM

0 Miembros y 1 Visitante están viendo este tema.

.:Xx4NG3LxX:.

AYUDA CON LISTA DESPLEGABLE

-Hola amigos, me gustaría crear una lista desplegable (en VBScript) que me permita escojer entre varias opciones (obviamente, definidas por mi).

 He buscado varias formas, pero nada, todo me aparece en Visual Basic y HTML, pero yo quiero hacerlo (como dije antes) en VBScript.

Ya he intentado hacerlo por mi cuenta, pero nada, no me da:

Código (vb) [Seleccionar]

ComboBox=ComboBox.AddItem ("HOLA")


¿Hay alguna forma de hacerlo?

GRACIAS DE ANTEMANO
"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"



MCKSys Argentina

Hola!

VBScript en que contexto? Desde una pagina en el navegador? Desde Office (Excel, Access, etc) - lo cual sería VBA.

No especificas el contexto. Si es para un browser, puedes usar HTML + VBScript o bien hacer un HTA.

Si es en otro contexto, pues... especifícalo porque no somos adivinos.  :P

Por las dudas, si pones en Google vbscrit create a combobox te saldrán muchísimos resultados.

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


Serapis

Creo que tienes algunos conceptos errados o a falta de aprender....

Un combobox es un control, esto es, requiere una interfaz de usuario.
VBScript, como su nombre indica es un lenguaje de script, típicamente los scripts carecen de interfaz de usuario, salvo algún mensaje para reportar/solicitar al usuario.

Eso no quiere decir que no se pueda, solo que es más complejo que la 'vía habitual' y por tanto es normal que la mayoría no dé con soluciones adecuadas.

1 - Crea un proyecto de tipo "ActiveX exe". Por defecto incorpora una clase, añade una ventana a dicho proyecto añade el control combobox, ajustalo en medidas y posición
2 - Provee métodos públicos (en la clase) para manejar el combobox (según tus necesidades). Típicamente métodos para manipular el propio combobox, como: Vaciar, GetSelected, SetSelected, GetIndexSelected, ListCount, etc...
3 - Provee la lógica para hacerlo visible y para cuando deba ocultarse/descargarse dicha ventana. Por ejemplo: Quizás también fuere preciso uno o dos botones tipo 'Cancelar/Aceptar o te baste con manejo de teclado como 'Enter/Escape'...
4 - Compila el proyecto (se registra automáticamente en la ruta que se aha compilado), aunque sea un exe, funcionará como una dll (de hecho tu instanciarás la dll) pero con interfaz (exactamente como funcionan los msgbox e imputbox) y en tu caso al usarlo desde un script, exactamente igual que usarías por ejemplo el típico: FileSystemObject ...

5 - Finalmente, desde tu script, invoca al ActiveX (la clase, porque la ventana es privada al proyecto y debe ser maneajda íntegramente desde la clase) que has creado y usa los métodos públicos de que dispone (que tu creaste) para manipularlo de la forma que te conviene...


A continuación un simple ejemplo, mostrando lo antedicho... la lista pasada es la de los días de la semana... Para emular lo más posible a VBScript, lo uso desde un módulo en 'Main' y declarado el objeto como de tipo 'object' para resolver referencias en tiempo de ejecución que e slo que sucede en un script (desde interfaz, sería más cómodo crear una referencia, para que el intellisense, muestre los métodos y propiedades que posee al declarar el objeto del tipo específico que es)...

En la siguiente imagen se ve todo el proyecto completo...
La ventana y su código. Un módulo y la clase que tu usarás también con todo su código:





En la siguiente imagen se muestra en uso una vez compilado el proyecto previo:





Y finalmente en esta ventana se ve desplegado el combobox... para elegir el que se quiera...
aparece seleccionado el índice 3 (el Jueves), porque así se lo dijimos en la llamada...




finalmente el proyecto completo para descargar... hay que abrir el proyecto de la clase y compilarlo, antes d epoder usarlo... el segundo proyecto da igual si lo usas o no, o ya transcribes a VBscript...
https://workupload.com/file/G69L85BX


.:Xx4NG3LxX:.

#3
Ay Dios! Pero que tonto soy, de verdad.

Yo me refería a hacerlo en el bloc de notas, pero perdón por no especificar antes.

Pero de todas formas esto me servirá mucho, en futuros proyectos!!

ENSERIO, ME SIENTO UN TONTO  :-\
"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"



@XSStringManolo

#4
Tuto en el navegador: https://www.tutorialspoint.com/vbscript/vbscript_switch_statement.htm

Tuto en el navegador2 https://www.guru99.com/vbscript-conditional-statements.html

Ejemplo extraido de tuto2:
Código (html4strict) [Seleccionar]
<html>
<head>
<script type="text/vbscript">
Dim age age = InputBox("Enter your age")
If age<18 Then document.write("You are too young.")
ElseIf age<45 Then document.write("You are still young.")
ElseIf age<70 Then document.write("You are getting older.")
Else document.write("You are too old.") End If
</script>
</head>
<body>
</body>
</html>


Igual lo que buscas es utilizar la consola de scripts de windows (WSH)?
http://www.informit.com/articles/article.aspx?p=1187429&seqNum=5

Igual te es mejor utilizar full featured languages orientados a propósito general? Las cosas suelen ser más acessibles, sencillas, lógicas y aprendes mejor y más rapido. Por ejemplo Python.

.:Xx4NG3LxX:.

Si , pero yo decia, hacerlo sin lenguaje HTML ni Visual Basic como tal. Sino con VBScript en el bloc de notas. Algo parecido a un InputBox pero con el ComboBox

Algo así, pero con el ComboBox:

Código (vb) [Seleccionar]

var=InputBox("Escoje","elige","Elección")


"ALGO ASÍ, PERO CON EL COMBOBOX"

Espero que haya alguna forma de lograrlo...

Perdón por no ser especifico...  :-\
"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"



Flamer

Como ya te dijeron tienes que crear un archivo HTA ya que vbscript es solo un script y carece de apariencia aquí te dejo un código en html....solo ponlo en el bloc de notas y aguardarlo con la extension HTA

Código (html4strict) [Seleccionar]

<html>
<head><title>selectiones</title>
</head>
<body>
<br><br><br>
<center>
<select id="list">
  <option value="Yo">Yo</option>
  <option value="Tu">Tu</option>
  <option value="El">El</option>
  <option value="Nosotros">Nosotros</option>
  <option value="Ustedes">Ustedes</option>
</select>
<input type="button" id="boton" value="veremos" onclick="calcular()">
</center>
<script language="vbscript">
function calcular
   dim l
   l=document.getElementById("list").value
   msgbox l,,"Mensaje del Programa"
end function
</script>
</body>
</html>

.:Xx4NG3LxX:.

"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"



MCKSys Argentina

Cita de: ÁngelSsr en 23 Diciembre 2019, 20:01 PM
Y como lo ejecuto???

una vez que creas el archivo con extensión HTA, abres el explorador de windows, ubicas el archivo y le haces doble click (o lo seleccionas y presionas ENTER).

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


.:Xx4NG3LxX:.

Muy bien, ya me quedó claro.

Sólo una última pregunta, y con eso se cierra el tema

"¿Podría hacer lo mismo con un CheckBox, ListBox...etc?
"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"