Como configuro corretamente as ações condicionais com a entrada do usuário no VBS com MsgBox?

0

Hoje comecei a tentar criar minhas próprias caixas de diálogo personalizadas para o Windows. Eu sou capaz de usar um atalho / wscript.exe para executar um arquivo VBS com o seguinte: (por favor, ignore o diálogo. Eu sei que o Drive C: não será apagado e eu não pretendo que isso aconteça. Isso é apenas prática antes de eu fazer os úteis.)

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

Meus scripts funcionam até este ponto, conforme mostrado abaixo:

MasquandoclicoemOKouCancelarnestemomento,receboumerro.Nopassado,clicaremOKouCancelarfoicompletamentefechado,masagorareceboumerrodetempodeexecução,queachomelhordoquenada.Noentanto,umerronãomeajuda.

OptionExplicitx=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")

Se eu adicionar "instruções" para o que deve acontecer a seguir, recebo um erro quando abro o arquivo e não consigo fazer nada

Eujátenteimudargrandepartedocódigo.Eutenteiusardim,removendox,definindoumavariável,definirmsgboxssubseqüentescomovariáveis,removendoosparênteses,etc...EusócomeceiaescrevermeusprópriosarquivosVBShoje,maseutenhofeitoscriptsemlotecomarquivos.muitotempo.Mesmocomamudançadelinguagem,todaaminhasoluçãodeproblemasnãomelevouanada,eestouquasecertodequedefiniavariávelcorretamente.

Alguémpodemedizerseeufizissocerto?Eutenteiváriosexemplos,masmesmo página da Web oficial da Microsoft em VBS-MsgBox é inútil. Peço desculpas antecipadamente se cometi um erro estúpido em algum lugar, mas já mudei quase todo o código e ainda estou preso.

Qualquer ajuda seria muito apreciada. Já passei 4 horas tentando consertar esse problema.

    
por InterLinked 08.04.2016 / 23:18

1 resposta

2

Dê uma olhada neste exemplo:

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

Para obter mais informações sobre constantes da MsgBox

    
por 11.04.2016 / 18:24