Instrução withWith statement

Executa uma série de instruções em um único objeto ou em um tipo definido pelo usuário.Executes a series of statements on a single object or a user-defined type.

SintaxeSyntax

Com objeto [ instruções ] Terminar comWith object [ statements ] End With


A sintaxe da instrução with possui as seguintes partes:The With statement syntax has these parts:

PartePart DescriçãoDescription
objetoobject Obrigatório.Required. Nome de um objeto ou um tipo definido pelo usuário.Name of an object or a user-defined type.
instruçõesstatements Opcional.Optional. Uma ou mais instruções a serem executadas no objeto.One or more statements to be executed on object.

ComentáriosRemarks

A instrução with permite que você execute uma série de instruções em um objeto especificado sem requalificar o nome do objeto.The With statement allows you to perform a series of statements on a specified object without requalifying the name of the object. Por exemplo, para alterar um número de Propriedades diferentes em um único objeto, coloque as instruções de atribuição de propriedade dentro da estrutura com controle, referindo-se ao objeto uma vez, em vez de se referir a ele com cada atribuição de propriedade.For example, to change a number of different properties on a single object, place the property assignment statements within the With control structure, referring to the object once instead of referring to it with each property assignment.

O exemplo a seguir ilustra o uso da instrução with para atribuir valores a várias propriedades do mesmo objeto.The following example illustrates use of the With statement to assign values to several properties of the same object.

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

Observação

Quando um bloco with é inserido, o objeto não pode ser alterado.Once a With block is entered, object can't be changed. Como resultado, você não pode usar uma única instrução with para afetar vários objetos diferentes.As a result, you can't use a single With statement to affect a number of different objects.

Você pode aninhar com instruções colocando uma com bloco dentro de outra.You can nest With statements by placing one With block within another. No entanto, como os membros de Outer com blocos são mascarados dentro do interior com blocos, você deve fornecer uma referência de objeto totalmente qualificado em um bloco interno com para qualquer membro de um objeto em um bloco externo com .However, because members of outer With blocks are masked within the inner With blocks, you must provide a fully qualified object reference in an inner With block to any member of an object in an outer With block.

Observação

Em geral, é recomendável que você não salte por blocos.In general, it's recommended that you don't jump into or out of With blocks. Se instruções em um com bloco with forem executadas, mas a instrução with ou end with não for executada, uma variável temporária contendo uma referência ao objeto permanecerá na memória até que você saia do procedimento.If statements in a With block are executed, but either the With or End With statement is not executed, a temporary variable containing a reference to the object remains in memory until you exit the procedure.

ExemploExample

Este exemplo usa a instrução with para executar uma série de instruções em um único objeto.This example uses the With statement to execute a series of statements on a single object. O objeto e suas propriedades são nomes genéricos usados apenas para fins ilustrativos.The object and its properties are generic names used for illustration purposes only.

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émSee also

Suporte e comentáriosSupport and feedback

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação?Have questions or feedback about Office VBA or this documentation? 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.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.