2009-07-22 5 views
5

Dans une vie antérieure, j'ai écrit du Visual Basic, et aujourd'hui j'ai besoin de ressusciter ces compétences pour écrire une macro Excel. Alors que la pêche au chalut Internet à la recherche d'exemples VBA pour aider nous avec cette macro Excel, je suis tombé sur cette syntaxe inhabituelle:Syntaxe de l'opérateur de point Visual Basic - pas de nom d'objet

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

Avis les .Columns et .Cells - les opérateurs de point ont aucun nom d'objet à gauche. Je me souviens d'avoir utilisé cette syntaxe il y a longtemps, mais je ne me souviens plus des détails. J'ai du mal à trouver quelque chose d'utile sur Google ou MSDN.

Questions:

  • Quand est-ce légal?
  • Quelle variable est l'opérateur de point?
  • Où puis-je obtenir plus d'informations?

Merci.

Répondre

13

Il s'agit très probablement d'une instruction avec. Comme ceci:

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

Pour plus d'informations sur l'aspect de la déclaration VB With au MSDN reference

+0

Bien sûr! J'avais oublié ça. Je n'avais pas réalisé que vous pouviez utiliser l'instruction with pour faire plus que définir des propriétés - vous pouvez y placer des appels de fonction. Merci! –

+3

J'ai vraiment aimé cette fonctionnalité de VB. – Kredns