Як правильно налаштувати умовні дії з введенням користувача в VBS за допомогою MsgBox?


0

Сьогодні я почав намагатися створити власні діалогові вікна для Windows. Я можу використовувати ярлик / wscript.exe для запуску файлу VBS з наступним: (проігноруйте діалогове вікно. Я знаю, що диск C: не буде стертий, і я не маю наміру це робити. Це просто практика, перш ніж я зроблю корисні.)

Option Explicit
x=MsgBox("Proceeding will wipe the contents of your C: Drive. Proceed?", 1+48, "Format Drive C:")

Мої сценарії працюють до цього моменту, як показано нижче: enter image description here

Але коли я натискаю ОК або Скасувати в цей момент, то я отримую помилку. У минулому, натиснувши кнопку OK або Cancel, це повністю закрилося, але тепер я отримую помилку під час виконання, що, на мою думку, краще, ніж нічого. Однак помилка не допомагає мені.

enter image description here

Option Explicit
x=MsgBox("Proceeding will wipe the contents of your C: Drive. Proceed?", 1+48, "Format Drive C:")
If x=1 Then
y=MsgBox("The contents of your C: Drive could not be successfully deleted.", 0+64, "Error Formatting Drive C: - System Error 5")
If x=2 Then
x=MsgBox("Not all of the contents of your C: Drive were successfully deleted. Please try again.", 0+64, "Error Formatting Drive C: - System Error 303")

Якщо я додати "інструкції" для того, що має відбутися далі, то я отримую помилку, коли я відкриваю файл, і я не можу нічого зробити

enter image description here

Я вже намагався змінити більшу частину коду. Я спробував використовувати dim, видаливши x, визначивши змінну, визначивши наступні msgbox як змінні, видаливши круглі дужки, і т.д. довгий час. Навіть зі зміною мови, все моє усунення несправностей призвело мене ніде, і я майже впевнений, що я визначив змінну правильно.

Хто-небудь може сказати мені, якщо я зробив це правильно? Я пробував численні приклади, але навіть Офіційна веб-сторінка Microsoft на VBS-MsgBox марно. Я вибачаюся заздалегідь, якщо я десь зробив дурну помилку, але вже змінив майже весь код, і я все ще застряг.

Будь-яка допомога буде сильно оцінили. Я вже витратив 4 години, намагаючись виправити цю проблему.


Питання, специфічні для програмування та розробки програмного забезпечення, не підлягають темі, див On-Topic . Спробуйте Переповнення стеку але спочатку прочитайте Як мені поставити хороше запитання? .
DavidPostill

Вам потрібно оголосити ваші змінні Змінні VBScript
DavidPostill

Вибачте, якщо це було не в темі, але я перевірив інші сайти Stack Exchange в першу чергу і на цьому сайті було багато питань VBS вже
InterLinked


@DavidPostill Дякуємо за посилання. Принаймні зараз я знаю. Я також намагався використовувати dim, щоб визначити x, і він все ще не працював
InterLinked

Відповіді:


2

Спроба цього прикладу:

Option Explicit
Dim Title,Question
Title = "user input in VBS with MsgBox"
Question = MsgBox("Proceeding will wipe the contents of your C: Drive. Proceed ?",vbYesNo+vbQuestion, Title)
If Question = vbYes Then
    MsgBox "We proceed wipping your C:\ drive",vbExclamation,Title
    'Call your sub here to continue proceeding your script
Else
    MsgBox "Canceling the operation !",vbCritical,Title
    Wscript.Quit()
End If

Для отримання додаткової інформації про Константи MsgBox

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.