2009-07-22 10 views
5

En una vida anterior escribí algo de Visual Basic, y hoy necesito resucitar esas habilidades para escribir una macro de Excel. Mientras que la pesca de arrastre de la Internet en busca de ejemplos de VBA para ayudar a que con esta macro de Excel, me encontré con esta sintaxis inusual:Sintaxis del operador de puntos de Visual Basic: sin nombre de objeto

Set rFound = .Columns(1).Find(What:="Cat", After:=.Cells(1, 1), LookIn:=xlValues, LookAt:= _ 
     xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _ 
     , SearchFormat:=False) 

Aviso los .Columns y .Cells - los operadores de punto no tienen nombres de objeto a la izquierda.

Recuerdo haber usado esta sintaxis hace mucho tiempo, pero no recuerdo los detalles. Me está costando encontrar algo útil en Google o en MSDN.

Preguntas:

  • Cuando es esto legal?
  • ¿Qué variable es inferir el operador de punto?
  • ¿Dónde puedo obtener más información?

Gracias.

Respuesta

13

Lo más probable es que tenga una declaración. De esta manera:

With testObject 
    .Height = 100 
    .Text = "Hello, World" 
    .Rows = 20 
    .Cols = 20 
End With 

Para obtener más información sobre el aspecto comunicado VB With en el MSDN reference

+0

Por supuesto! Me había olvidado de eso. No me di cuenta de que podría usar la declaración con para hacer más que establecer propiedades: puede poner llamadas de función allí. ¡Gracias! –

+3

De hecho me gustó esa función de VB. – Kredns

Cuestiones relacionadas