Compartilhar via


Com instrução

Executa uma série de instruções num único objeto ou num tipo definido pelo utilizador.

Sintaxe

Comobjeto [ instruções ] Terminar Com

A sintaxe da instrução With tem as seguintes partes:

Sair Descrição
objeto Obrigatório. Nome de um objeto ou de um tipo definido pelo utilizador.
instruções Opcional. Uma ou mais instruções a executar no objeto.

Comentários

A instrução With permite-lhe executar uma série de instruções num objeto especificado sem requalificar o nome do objeto. Por exemplo, para alterar várias propriedades diferentes num único objeto, coloque as instruções de atribuição de propriedades na estrutura com controlo, referindo-se ao objeto uma vez em vez de se referir ao mesmo com cada atribuição de propriedade.

O exemplo seguinte ilustra a utilização da instrução With para atribuir valores a várias propriedades do mesmo objeto.

With MyLabel 
 .Height = 2000 
 .Width = 2000 
 .Caption = "This is MyLabel" 
End With 

Observação

Assim que um bloco Com for introduzido, o objeto não pode ser alterado. Como resultado, não pode utilizar uma única instrução Com para afetar vários objetos diferentes.

Pode aninhar com instruções ao colocar um bloco Com dentro de outro. No entanto, uma vez que os membros dos blocos exteriores Com estão mascarados dentro dos blocos internos Com , tem de fornecer uma referência de objeto completamente qualificado num bloco Interior Com a qualquer membro de um objeto num bloco exterior Com .

Observação

Em geral, recomenda-se que não salte para dentro ou para fora dos blocos Com . Se as instruções num bloco Com forem executadas, mas a instrução Com ou Terminar Com não for executada, uma variável temporária que contenha uma referência ao objeto permanece na memória até sair do procedimento.

Exemplo

Este exemplo utiliza a instrução With para executar uma série de instruções num único objeto. O objeto e as respetivas propriedades são nomes genéricos utilizados apenas para fins ilustrativos.

With MyObject 
 .Height = 100 ' Same as MyObject.Height = 100. 
 .Caption = "Hello World" ' Same as MyObject.Caption = "Hello World". 
 With .Font 
  .Color = Red ' Same as MyObject.Font.Color = Red. 
  .Bold = True ' Same as MyObject.Font.Bold = True. 
 End With
End With

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.