2013-11-01 2 views
0

У меня есть скрипт, который открывает файл excel, если предоставленный пароль является правильным. Если он ошибается, он запрашивает сообщение. Он отлично работает, когда я добавляю цикл в конце. Однако проблема заключается в том, что всякий раз, когда пароль неверен, скрипт не перестает запрашивать пароль из-за цикла. Я хочу, чтобы скрипт вышел/закрылся, если пароль неверен. Я попытался удалить цикл и заменить его на «wscript.quit», но всегда запрашивает сообщение «ожидаемый цикл». Вот код, который я сделал.Ошибка ожидаемого цикла VBScript

password = "pass" 
do 
ask=inputbox ("Please enter password:","DProject") 
select case ask 
case password 
answer=true 

Set xl = CreateObject("Excel.application") 

xl.Application.Workbooks.Open "C:\Users\test1\Desktop\test.xlsx" 
xl.Application.Visible = True 
Set xl = Nothing 
wscript.quit 
end select 

answer=false 
x=msgbox("Password incorrect... Aborting") 
loop until answer=true 

Возможно ли положить сообщение, подобное этому, когда прерывается. например «Отмена в 3 .... 2 ... 1».

ответ

0

Используйте метод Popup вместо функции MsgBox.

password = "pass" 
do 
    ... 
    x = CreateObject("WScript.Shell").Popup("Password incorrect... Aborting", 3) 
Loop Until answer = True Or x < 0 
+0

Thanks Man. Однако проблема в том, что ... она не прерывалась ... ее цикл до тех пор, пока пароль не будет правильным и никогда не остановится. – Yoko21

+0

Если вы хотите, чтобы цикл остановился, когда никто не нажал кнопку во всплывающем окне, вы можете проверить, меньше ли значение 'x' (см. Обновленный ответ). –

Смежные вопросы