Feedback elaborado
Nos ítens anteriores desse tutorial, você já viu que é possível coletar informações sobre o usuário da sua apresentação. Você pode, por exemplo, pedir para que ele informe o nome numa caixa de entrada (InputBox) para depois despedir-se com uma mensagem do tipo < nome_informado >, agradecemos sua participação!. Além disso, algumas vezes, os dados informados podem nos ajudar a guiar melhor a apresentação. Você pode, por exemplo, fazer uma apresentação para todos os seus alunos, mas determinada parte deverá ser mostrada somente aos alunos de pós-graduação. Assim, você pode pedir para que o aluno informe seu curso no início da apresentação, e a partir dessa informação, direcioná-lo para determinado slide.
Nesse caso, teremos que solucionar uma condicional: se o aluno é de graduação, então vai para o slide 10; senão (se ele for de pós), vai para o slide 20. Ou seja, sempre que nos depararmos com uma situação do tipo se... então... senão, teremos uma condicional. Em inglês, que é a linguagem utilizada em programação teremos if... then... else. Observe o exemplo:
Sub Condicional()
Dim curso As String
curso = InputBox(prompt:="Qual seu curso? (graduação ou pós)", Title:="Informe seu curso...")
If curso = "graduação" Then
MsgBox ("Olá, aluno de graduação")
Else
MsgBox ("Olá, aluno de pós-graduação")
End If ' repare que é necessário 'fechar' o bloco if.. then... else com um end if (fim do 'se').
End Sub
[ DOWNLOAD ]
Porém, no exemplo acima, o usuário teria que ter o cuidado de digitar EXATAMENTE ou graduação, ou pós. Se ele escreve-se graduacao ou pós-graduação, já ocorreria erro. Como poderíamos remediar essa situação? Uma forma seria colocar mais uma opção na condicional, para caso o aluno respondesse algo errado, teria que informar novamente seu curso.
Quando precisamos de mais de duas respostas para a condicional, podemos usar a estrutura Select Case... Case 1... Case n... End Select. Observe:
Sub Selecao()
Dim curso As String
curso = InputBox(prompt:="Qual seu curso? (graduação ou pós)", Title:="Informe seu curso...")
Select Case curso
Case "graduação"
MsgBox ("Olá, aluno de graduação!")
Case "pós"
MsgBox ("Olá, aluno de pós!")
Case Else
curso = InputBox(prompt:="Você deve escrever uma das duas opções: graduação ou pós", Title:="Informe seu curso...")
If ((curso <> "graduação") And (curso <> "pós")) Then
MsgBox ("Mais uma vez você não informou corretamente seu curso. Essa apresentação será fechada!")
SlideShowWindows(1).View.Exit
End If
MsgBox ("Olá, aluno de " & curso & "!")
End Select
End Sub
[ DOWNLOAD ]
|
Quando as caixas de mensagem recolhem informações, é mais fácil de controlá-las, visto que o aluno só terá aquelas opções de resposta. Por isso, dê preferência a perguntas que podem ser respondidas com Sim ou Não, de maneira que você possa usar uma caixa de mensagem com botão do tipo vbYesNo. Dessa forma, você estará 'forçando' seu aluno a responder de uma forma correta. Observe:
Sub Resposta_Correta_Com_Certeza()
Dim curso As String
curso = MsgBox("Você é aluno de graduação?", vbYesNo, "Informe seu curso...")
If curso = vbYes Then
MsgBox ("Olá, aluno de graduação!")
Else
curso = MsgBox("Você é aluno de pós-graduação?", vbYesNo, "Informe seu curso...")
If curso = vbYes Then
MsgBox ("Olá, alunos de pós-graduação!")
Else
MsgBox ("Afinal, você é aluno de que curso?" & Chr(10) & _
"Acho que você não deveria estar aqui... " & Chr(10) & _
"Esta apresentação será fechada!")
SlideShowWindows(1).View.Exit
End If
End If
End Sub
[ DOWNLOAD ]
|
Os valores dos botões nas caixas de mensagens, ou seja, o valor que a variável receberá se aquele botão for clicado, são:
- vbOK. Se o botão OK for clicado
- vbCancel. Se o botão Cancelar for clicado.
- vbYes. Se o botão Sim for clicado.
- vbNo. Se o botão Não for clicado.
- vbAbort. Se o botão Abortar for clicado.
- vbRetry. Se o botão Repetir for clicado.
- vbIgnore. Se o botão Ignorar for clicado.
[ CRÉDITOS ] |