Emitindo mensagens personalizadas com MsgBox
Cavalcante Consultores > Biblioteca de Excel > Emitindo mensagens personalizadas com MsgBox
A função MsgBox exibe uma caixa de mensagem ao usuário e aguarda com que o usuário clique em um de seus botões para que esta seja fechada.
Obrigatória. Expressão de seqüência de caracteres exibida como mensagem na caixa de diálogo. O comprimento máximo de prompt é de aproximadamente 1.024 caracteres, dependendo da largura dos caracteres utilizados. Se prompt consistir em mais de uma linha, você poderá separar as linhas utilizando um caractere de retorno de carro (Chr(13)), um caractere de alimentação de linha (Chr(10)) ou uma combinação de caracteres de retorno de carro e alimentação de linha (Chr(13) & Chr(10)) entre cada linha.
Opcional. Expressão numérica que é a soma de valores que especifica o número e o tipo de botões a exibir, o estilo de ícone a utilizar, a identidade do botão padrão e a modalidade da caixa de mensagem. Se omitido, o valor padrão para buttons é 0.
Opcional. Expressão de seqüência de caracteres que identifica o arquivo de Ajuda a ser utilizado para fornecer ajuda sensível ao contexto relativo à caixa de diálogo. Se helpfile for fornecido, context também deverá ser fornecido.
O primeiro grupo de valores (0 a 5) descreve o número e o tipo de botões exibidos na caixa de diálogo; o segundo grupo (16, 32, 48, 64) descreve o estilo de ícone; o terceiro grupo (0, 256, 512) determina qual botão é o padrão e o quarto grupo (0, 4.096) determina a modalidade da caixa de mensagem. Quando estiver somando números para criar um valor final para o argumento buttons, utilize somente um número de cada grupo.
Observação: Essas constantes são especificadas pelo Visual Basic for Applications. Como resultado, os nomes podem ser utilizados em qualquer lugar do seu código em vez dos valores reais.
Como o MsgBox é uma Função (Function), é possível capturar o valor retornado conforme a ação do usuário.
Apesar do grande número de opções e parâmetro oferecidos pelo MsgBox, vamos nos concentrar em sua funcionalidade mais simples neste momento, que é emitir mensagens aos usuários. Veja este exemplo de código abaixo:
No código de exemplo, apenas o primeiro parâmetro é informado, o suficiente para fazer uso de mensagens simples. Porém é possível personalizar ainda mais a caixa de mensagem conforme mostra o próximo código de exemplo:
O parâmetro Title permitiu alterar o título da MsgBox, enquanto o parâmetro Button alterou o contexto da informação. Como foi informado que o botão a ser mostrado seria do tipo vbInformation, um ícone de informação foi adicionado ao caixa e mensagem. Outros tipos de Buttons podem ser utilizados, que geraram diferentes ícones, conjunto de botões, alterando inclusive o som que é executado ao mostrar a caixa. Claro que o ideal é sempre colocar uma mensagem que esteja de acordo com o contexto. Veja a diferença da aparência se mudar o parâmetro para o seguinte:
Note a mudança do ícone e do som emitido pelo aplicativo. A mensagem também foi alterada para refletir a contexto do ícone utilizado.
Como o MsgBox é uma função (Function), sua execução retorna um valor que é do tipo VbMsgBoxResult. Quando se utiliza alguns tipos especiais de parâmetros Button, este retorna nos dá uma alternativa de analisar a decisão do usuário com base no retorno do MsgBox.
Quando helpfile e context são fornecidos, o usuário pode pressionar F1 (Windows) ou ajuda (Macintosh) para visualizar o tópico de Ajuda que corresponde ao context. Alguns aplicativos host, por exemplo, o Microsoft Excel, também adicionam automaticamente um botão Ajuda à caixa de diálogo. Se o usuário clicar em OK ou pressionar a função InputBox retornará o que estiver na caixa de texto. Se o usuário clicar em Cancelar, a função retornará uma seqüência de caracteres de comprimento zero ("").