Necesito hacer una secuencia de comandos con vbs que abra la ventana de dialogo de colores en windows xp. He tratado buscando información por internet y no hallado ninguna página hasta lo momentos que me pudiera ayudar.
Cita de: paulgonzalez en 5 Agosto 2009, 17:31 PM
Necesito hacer una secuencia de comandos con vbs que abra la ventana de dialogo de colores en windows xp. He tratado buscando información por internet y no hallado ninguna página hasta lo momentos que me pudiera ayudar.
¿Cual ventana de colores de Windows, a que te refieres con eso?
Te refieres a esto?
(http://s3.subirimagenes.com:81/imagen/previo/thump_3004303esapa.png) (http://www.subirimagenes.com/imagen-esapa-3004303.html)
Si es así entonces alcanza con algo como esto :P
set objshell = createobject("wscript.shell")
objshell.run "RunDll32.exe shell32.dll,Control_RunDLL desk.cpl,,2"
Saludos
No...
A lo que yo le entiendo es el cuadro de dialogo de Colores del CommonDialog..
Ahora no puedo hacerlo en mi PC, mas tarde si no responden lo posteo..
SaluDOS!!!
A lo me refiero es al cuadro de diálogo de windows que permite seleccionar un color desde una secuencia de comandos vbs, para luego traerme el dato del color en hexadecimal...
Sin palabras entonces ... no se que se pueda hacer eso en vbs ... si en VB por medio de commondialog.showcolor, pero no en vbs :-\
Saludos
Cita de: paulgonzalez en 19 Agosto 2009, 17:35 PM
A lo me refiero es al cuadro de diálogo de windows que permite seleccionar un color desde una secuencia de comandos vbs, para luego traerme el dato del color en hexadecimal...
De nuevo no te explicas bien, deja una captura de pantalla.
(http://www.recursosvisualbasic.com.ar/htm/tutoriales/img/commondialog-color.gif)
Lo que pasa es que estoy haciendo un programa de procesamiento por lotes (BATCH) que este a su vez crea una secuencia de comandos vbs, en donde debe aparecer la ventana de dialogo de colores de Windows, para que el usuario pueda elegir un color, de tal manera que tiene que aparecer el dato en hexadecimal en la pantalla del cmd, y que haga todo ésto, sólo ejecutando el archivo BATCH (.bat).
@echo off
@title Color elejido por el usuario
mode con cols=37 lines=12
color e0
echo Elija un color...
rem Aquí iría el código vbs...
(
echo ...?
echo ...?
echo ...?
)>colores.vbs
rem Ejecutando el vbs...
cscript //nologo colores.vbs>Dato.txt
set /p elColor=<Dato.txt
echo.
echo Elegiste en hexadecimal, el color: %elColor%
echo.
echo Pulse una tecla para salir
pause>nul
exit
Lo que pude hacer con el problema propuesto, es hacer el código Batch cree un programa javascript para luego ejecutarlo, lo cual aparece el cuadro de dialogo en donde el usuario puede seleccionar un color de su preferencia, para luego después aparecer en el programa Batch el color en hexadecimal. De esta forma no me sirve, ya que lo quiero hacer es que aparezca el cuadro de colores a través de una secuencia de comandos, ya sea .vbs o .js.
Aquí le mando el código que pude hacer, esperando me puedan ayudar a lo que realmente quiero.
Código:
@echo off
@title Color elejido por el usuario
mode con cols=44 lines=7
color e0
cd\
set ruta=%cd%/
echo.
echo Elija un color...
rem El código javascript...
(
echo ^<script language="javascript"^>
echo function decAhex(dec^){
echo dec = parseInt(dec^);
echo var hexChars="0123456789ABCDEF";
echo var dig = new Array(5^);
echo ^for ^(k^=0; k^<6; k++^){
echo dig[k] = dec %% 16;
echo dec = (dec-dig[k]^) / 16;
echo }
echo var resul = "";
echo ^for ^(k^=5; k^>-1; k--^){
echo resul += hexChars.charAt(dig[k]^);
echo }
echo return resul;
echo }
echo function VentanaColores(^){
echo fso = new ActiveXObject("Scripting.FileSystemObject"^);
echo f1 = fso.CreateTextFile("%ruta%Dato.txt", true^);
echo var color = decAhex(dialogHelper.ChooseColorDlg(0x000000^)^);
echo f1.WriteLine(color^);
echo f1.Close(^);
echo close(^);
echo }
echo ^</script^>
echo ^<body onload="VentanaColores()"^>
echo ^<object name="dialogHelper" classid="clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b"^>^</object^>
echo ^</body^>
)>colores.html
rem Ejecutando el javascript...
colores.html
set /p elColor=<Dato.txt
del Dato.txt
del colores.html
echo.
echo Elegiste en hexadecimal, el color: #%elColor%
echo.
echo Pulse una tecla para salir
pause>nul
exit