практическое занятие по освоению vbs

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,072
Реакции
5,791
Привет.

Решил немного освоить vbs на практике,так как уже часто нужно но толком не умею.

Итак,задача № 1

Создать скрипт,который позволит выбрать действие,а затем ввести имя объекта.

На bat это выглядит так:
CMD/BATCH:
:Menu

call :setto
echo.
echo Установить или удалить пункт меню?
echo (Введите цифру и нажмите клавишу Enter)
echo.
echo 1. Установить пункт
echo 2. Настроить меню
echo 3. Удалить пункт
echo.
set /p "ch=Ваш выбор: "
if "%ch%"=="1" (goto install || (
   echo Ошибка установки.
    echo Обратитесь за поддержкой на форум.
     pause
      exit /b))
               
if "%ch%"=="2" (goto setting)
if "%ch%"=="3" (goto DelMenu)
if not Defined VerbName (cls
                          echo Вы выбрали неверное значение.
                           echo Попробуйте еще раз^:^
                           pause
                            goto Menu)

:install
call :querydublemenu


set /p NameMenu="Ведите имя пункта меню и нажмите клавишу Enter: "
echo Введено "%NameMenu%"

copy "%~dp0ttools\ishodnik\reg.reg" "%~dp0ttools\UserReg\%name%.reg"
echo Windows Registry Editor Version 5.00 >"%~dp0ttools\UserReg\%name%.reg"
echo.>>"%~dp0ttools\UserReg\%name%.reg"
echo ^[^HKEY_CLASSES_ROOT\DesktopBackground\Shell\%name%]>>"%~dp0ttools\UserReg\%name%.reg"
reg import "%~dp0ttools\UserReg\%name%.reg"
reg add "%key1%\%name%" /v MUIVerb /d "%NameMenu%" /f
reg add "%key1%\%name%" /v "SubCommands" /d "redmi;AddLog;prochee" /f
reg add "%key1%\%name%" /v "Icon" /d "imageres.dll,104" /f
goto setting

pause
exit /b

Пока что без операций с реестром,просто и на пальцах пробую создать нечто подобное:
VB.NET / VBA:
Option Explicit

Dim menu
result = MsgBox("Выберите необходимое дествие:", vbOkCancel+ vbInformation, "Меню установки:")
If result = vbOK Then
WScript.Echo "Нажата клавиша ОК"
Else
WScript.Echo "Нажата клавиша Отмена"
End If


Dim Message, result
Dim Title, Text1, Text2
Message = "Введите имя пункта контексного меню:"
Title = "Создание пункта контексного меню "
Text1 = "Операция отменена."
Text2 = "Вы ввели:" & vbCrLf
result = InputBox(Message, Title, "Введите имя пункта контексного меню:", 100, 100)
If result = "" Then        
WScript.Echo Text1
Else 
WScript.Echo Text2 & result 
End If

В чем проблема:
я так понял окно выбора с чекбоксом или кнопкой не создать на vbs,только заложенные стандартные?
под каждую операцию будет вызываться новое окно?
нельзя ли делать последовательно операции в одном окне?
правильно ли я начинаю?
 
Последнее редактирование:
Привет. Рад, что решился.
Пока что без операций с реестром,просто и на пальцах пробую создать нечто подобное:
Да ты и без меня смотрю неплохо пишешь.
я так понял окно выбора с чекбоксом или кнопкой не создать на vbs,только заложенные стандартные?
Да. Только стандартные.
То есть максимум, что вытянешь, это например такое:

InputBox.png


VB.NET / VBA:
Title = "Создание пункта контексного меню"
Message = _
    "1. Установить пункт" & vbCrLf & _
    "2. Настроить меню"   & vbCrLf & _
    "3. Удалить пункт"    & vbCrLf & vbCrLf & _
    "Введите номер действия:"

result = InputBox(Message, Title)

Select case result
case 1
    Msgbox "Вы выбрали 1"
case 2
    Msgbox "Вы выбрали 2"
case 3
    Msgbox "Вы выбрали 3"
case else
    Msgbox "Вы выбрали что-то другое"
End Select

нельзя ли делать последовательно операции в одном окне?
Поясни.

правильно ли я начинаю?
Возможно, нет.
Если хочешь организовать меню в виде кнопок / чекбоксов,
вероятно лучше сразу перейти к среде разработки VB6 IDE, где доступно создание полноценных форм. Ссылку отправлю в личку.
 
Назад
Сверху Снизу