Pesquisar este blog

quarta-feira, 30 de outubro de 2013

FUNÇÃO E INSTRUÇÃO DE CONTROLE DO FLUXO DE EXECUÇÃO – WITH...END WITH

With...End With


    Instrução empregada para executar uma série de instruções dentro de um laço, referenciando uma única vez um objeto, de forma a acessar mais rapidamente suas propriedades e reduzir a sintaxe empregada na codificação,utilizando esta sintaxe

With Objeto

           [Instruções]

End With

Onde,
  • Objeto: argumento obrigatório, indicando o nome do o nome do objeto ou tipo definido pelo usuário cujas propriedades você deseja acessar;
  • Instruções: argumento opcional, indica a existência de instruções que serão executadas dentro do laço With...End With;
  • End With: instrução que determina o fim do laço With. Após esta instrução, quaisquer propriedades do Objeto deverão ser acessadas utilizando-se a sintaxe completa, na forma Objeto.Propriedade.
As seguintes considerações são válidas para a instrução With...End With:
  • With permite tornar mais enxuta a sintaxe de acesso às propriedades do objeto referenciado, diminuindo a quantidade de texto a ser digitado e aproveitando-se das características de AutoListar Membros do VBA (basta pressionar o caractere “.” Dentro de um laço With para que uma lista com todas as propriedades do objeto referenciado pela instrução sejam exibidos para você);
  • Não é possível alterar o objeto referenciado dentro de um laço With;
  • É possível aninhar laços, porém, quando um laço mais interno está sendo executado, propriedades idênticas contidas no objeto do laço With mais externo serão mascaradas, exigindo o emprego da sintaxe completa para o objeto de forma a acessá-las;
  • Jamais empregue a instrução GoTo ou GoSub para sair ou entrar em um laço With...End With. Apesar de o VBA permitir esta abordagem, poderão ocorrer erros inesperados em seu aplicativo.
Exemplo: O exemplo a seguir emprega um laço With...End With para referenciar uma vez uma caixa de listagem no Microsoft Access e alterar suas propriedades.

Sub txtIdade_AfterUpdate()

   With txtIdade

            .BackColor = 0        ‘Fundo preto
            .ForeColor = 256     ‘Letras vermelhas
            .Enabled = False
            .Locked = True


   End With

Até a Próxima!!

Nenhum comentário:

Postar um comentário