Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Запрос значений через htm/hta в vbs скрипте (http://forum.oszone.net/showthread.php?t=229808)

prostoshu 08-03-2012 09:17 1874654

Запрос значений через htm/hta в vbs скрипте
 
Всем доброго времени суток.
Есть скрипт .vbs. Суть следующего скрипта такова, при первом запуске скрипт запрашивает от пользователя параметры для дальнейшей работы, после запроса всех параметров начинается работа скрипта.
Варианты ответов на вопросы ДА или НЕТ, т.е. булево. Я использую метод Popup, но с ростом скрипта отвечать на вопросы всё дольше и дольше.
Помогите сделать запрос значений через html или hta форму, чтобы в этой форме проставить галочки (checkbox), а потом считать их в скрипте.

Iska 08-03-2012 16:51 1874914

Вот Вам упрощённая болванка HTA:
читать дальше »
Код:

<html id="appHTML">
    <head>
        <meta charset="windows-1251">
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
        <meta http-equiv="Content-Language" content="ru">
        <meta http-equiv="MSThemeCompatible" content="yes">
        <title>Sample title</title>
        <hta:Application
            Icon = "%SystemRoot%\System32\write.exe"
            Id="oHTASample"
            ApplicationName="HTA Sample"
            Border="normal"
            BorderStyle="normal"
            Caption="yes"
            ContextMenu="no"
            InnerBorder="yes"
            MaximizeButton="no"
            MinimizeButton="yes"
            Navigable="no"
            Scroll="auto"
            ScrollFlat="no"
            Selection="no"
            ShowInTaskbar="yes"
            SingleInstance="yes"
            SysMenu="yes"
            Version="1.0"
            WindowState="normal"
        />
        <style type="text/css">
            BODY {
                font: x-small Verdana, Arial, sans-serif;
                color: WindowText;
                background-color: ButtonFace;
            }
            .Row{
                clear:both;
            }
            .Left{
                float:Left;
                clear:none;
            }
            .Right{
                float:Right;
                clear:none;
            }
            .NonValid { color:FireBrick; }
            #Status { font: xx-small; }
        </style>
       
        <script language="VBScript">
            Option Explicit
           
            '----------------------------------------------------------------------
            Sub btnStart_OnClick
                With document
                    .getElementByID("Status").innerText              = "Идёт обработка…"
                   
                    .getElementByID("SelFile").disabled              = True
                    .getElementByID("TextField").disabled            = True
                    .getElementByID("CheckBox1").disabled            = True
                    .getElementByID("CheckBox2").disabled            = True
                    .getElementByID("CheckBox3").disabled            = True
                    .getElementByID("btnStart").disabled            = True
                   
                    .getElementByID("tagBody").style.cursor          = "wait"
                End With
               
                ' Опосредованно вызываем основную процедуру обработки документа
                setTimeout "MainProc", 0
            End Sub
            '----------------------------------------------------------------------
           
            '----------------------------------------------------------------------
            ' Основная процедура
            '----------------------------------------------------------------------
            Sub MainProc()
                Dim strFileName
                Dim strText
                Dim boolCheckBox1, boolCheckBox2, boolCheckBox3
               
               
                With document
                    strFileName  = .getElementByID("SelFile").value
                    strText      = .getElementByID("TextField").value
                    boolCheckBox1 = .getElementByID("CheckBox1").checked
                    boolCheckBox2 = .getElementByID("CheckBox2").checked
                    boolCheckBox3 = .getElementByID("CheckBox3").checked
                End With
               
                MsgBox _
                    "Текст:" & vbTab & strText & vbCrLf & _
                    "Файл:" & vbTab & strFileName & vbCrLf & _
                    "Переключатель1:" & vbTab & boolCheckBox1 & vbCrLf & _
                    "Переключатель2:" & vbTab & boolCheckBox2 & vbCrLf & _
                    "Переключатель3:" & vbTab & boolCheckBox3, _
                    vbOKOnly + vbInformation, "strText"
               
                With document
                    .getElementByID("Status").innerText              = ""
                   
                    .getElementByID("SelFile").disabled              = False
                    .getElementByID("TextField").disabled            = False
                    .getElementByID("CheckBox1").disabled            = False
                    .getElementByID("CheckBox2").disabled            = False
                    .getElementByID("CheckBox3").disabled            = False
                    .getElementByID("btnStart").disabled            = False
                   
                    .getElementByID("tagBody").style.cursor          = "auto"
                End With
            End Sub
            '----------------------------------------------------------------------
        </script>
    </head>
    <body id="tagBody" scroll="auto">
            <span Class="Row">
                <span Class="left"><span id="lblSelFile">1. Укажите файл:</span></span>
                <span Class="right"><input type="File" name="SelFile" value="" size="64"></span>
            </span>
            <span Class="Row">
                <span Class="left"><span id="lblTextField">2. Введите текст:</span></span>
                <span Class="right"><input type="Text" name="TextField" value="" size="40"></span>
            </span>
            <span Class="Row">
                <span Class="left">3. Установите флажки:</span>
            </span>
            <span Class="Row">
                <span Class="left">
                    <input type="CheckBox" name="CheckBox1">
                    <span id="lblCheckBox1">CheckBox1</span>
                </span>
            </span>
            <span Class="Row">
                <span Class="left">
                    <input type="CheckBox" name="CheckBox2">
                    <span id="lblCheckBox2">CheckBox2</span>
                </span>
            </span>
            <span Class="Row">
                <span Class="left">
                    <input type="CheckBox" name="CheckBox3">
                    <span id="lblCheckBox3">CheckBox3</span>
                </span>
            </span>
            <span Class="Row">
                <span Class="left"><span id="lblStart">4. Нажмите кнопку [Начать]</span></span>
                <span Class="right"><input type="Button" name="btnStart" value="Начать"></span>
            </span>
            <hr Class="Row" />
            <span Class="Row">
                <span id="Status">&nbsp;</span>
            </span>
    </body>
    <script language="VBScript">
        Option Explicit
       
        With document
            .getElementByID("CheckBox1").checked = False
            .getElementByID("CheckBox2").checked = True
            .getElementByID("CheckBox3").checked = False
        End With
       
        'Позиционирование и изменение размера окна
        With window
            .resizeTo tagBody.scrollWidth + 25, tagBody.scrollHeight + 32
            .moveTo (.screen.availWidth - tagBody.offsetWidth) \ 2, (.screen.availHeight - tagBody.offsetHeight) \ 2
        End With
    </script>
</html>


prostoshu 08-03-2012 17:17 1874931

Спасибо, то что нужно


Время: 21:36.

Время: 21:36.
© OSzone.net 2001-