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

Переводчик Google

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
13,982
Решения
3
Реакции
5,699
Привет.

Решил немного освоить 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.webp


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, где доступно создание полноценных форм. Ссылку отправлю в личку.
 
Назад
Сверху Снизу