Comment faire pour naviguer parmi les objets Excel à partir de Visual Basic

Traductions disponibles Traductions disponibles
Numéro d'article: 147650 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article décrit trois méthodes que vous pouvez utiliser pour naviguer et accéder aux objets de Microsoft Excel Application :

  • À l'aide des propriétés longhand et par défaut
  • À l'aide de la création d'alias
  • À l'aide des méthodes parent et application d'objets Microsoft Excel version 5.0 pour accéder à n'importe quel objet Microsoft Excel

Plus d'informations

Chaque objet dans Microsoft Excel version 5.0 existe quelque part dans hiérarchie l'application dans la d'objets. Choisissez entre ces objets en naviguant vers le bas hiérarchie de cette application. En haut de cette hiérarchie est l'objet application. Événements ou les actions que vous affectez à l'objet application affectent l'ensemble de l'application. Par exemple :
   ' Close the application
   [Object].Application.Quit
				
remplacer [objet] avec n'importe quelle variable qui pointe vers n'importe quel valide Microsoft Excel, objet application, qui peut être créé à partir de l'exemple suivant :
   ' MyObject represents [Object] and OLE1 represents an OLE control
   ' that contains an Microsoft Excel Worksheet object.
   MyObject = OLE1.Object
   Set MyObject = CreateObject("Excel.Sheet")
   Set MyObject = GetObject("C:\EXCEL\EXAMPLES\SAMPLES.XLS")
				
objet de l'application contienne d'autres objets de grande taille. Par exemple, vous pouvez utiliser le code suivant pour faire référence à la collection de classeurs actuellement chargés dans Microsoft Excel :
   [Object].Application.Workbooks
				
si vous souhaitez récupérer un classeur unique dans la collection, utilisez la méthode Item. Par exemple, pour faire référence à du premier classeur :
    [Object].Application.Workbooks.Item(1)
				
pour fermer le premier classeur :
   [Object].Application.Workbooks.Item(1).Close
				

Accès aux objets à l'aide de référence de longhand ou propriétés par défaut

Chaque classeur contient une collection de feuilles de calcul, chaque feuille de calcul constituée une collection de cellules et ainsi de suite. (Consultez la documentation de Microsoft Excel et l'aide du menu pour plus d'informations sur la hiérarchie d'objets de Microsoft Excel). Dans le code, les références à une cellule spécifique pourraient ressembler à ceci :
   ' Following refers to cell A1 on Sheet1 in the first workbook.
   ' Enter the following two lines as one, single line:
   [Object].Application.Workbooks.Item(1).
      WorkSheets.Item("Sheet1").Cells.Item(1,1)
				
cette référence peut être longue et complexe ; cependant, les raccourcis sont disponibles. La compréhension de l'opérateur de navigation (.) est fondamentale pour la programmation objet réussie.

Réduit ses short

Tous les objets ont une propriété par défaut et la méthode. Pour les collections, la méthode par défaut est la méthode Item. Pour la plupart des objets, la propriété Name est la propriété par défaut. Cette convention a été implémentée pour simplifier la programmation. Par exemple, l'exemple précédent peut être simplifié à:
   [Object].Application.Workbooks(1).WorkSheets("Sheet1").Cells(1,1)
				

Accès aux objets par les objets alias

Vous pouvez utiliser des alias pour simplifier la programmation de l'objet. Si vous deviez écrire beaucoup de code qui a été la manipulation de la feuille «Sheet1», par exemple, la syntaxe pourrait devenir longue. Pour éviter ce problème, créez un objet qui pointe vers l'objet le plus bas courant. Ce concept porte le nom de la création d'alias. Utilisez l'instruction Set pour créer un alias :
   Dim Sheet1 as Object
   ' Alias Sheet1 to represent [Object]...WorkSheets("Sheet1")
   Set Sheet1 = [Object].Application.Workbooks(1).WorkSheets("Sheet1")
   ' Now just use the variable Sheet1 to refer to Sheet1.
   Sheet1.Cells(1,1).Value = "Title"
   Sheet1.Cells(1,2).Value = "ID"
   Sheet1.Cells(1,3).Value = "Cost"
   Sheet1.Cells(2,1).Value = "Phone"
   Sheet1.Cells(2,2).Value = 123413423
   Sheet1.Cells(2,3).Value = 89.95
				

Accès aux objets à l'aide de parent et de méthodes de l'application

Les méthodes parent et d'application permettent de naviguer sauvegarder la hiérarchie d'objets. La méthode de l'application revient à l'objet d'application et la méthode parent navigue jusqu'à un niveau de la hiérarchie d'objets. Tous les exemples de cet article a démarré avec [objet]. Tant que [objet] est un objet Microsoft Excel valide, toutes ces instructions sont également valides. Indépendamment du contexte de [objet].

Cette fonction est très utile lors de la programmation de l'objet Microsoft Excel à partir de Visual Basic version 4.0. Microsoft Excel expose uniquement les trois objets qui peuvent être utilisés comme points d'entrée vers Microsoft Excel. Il s'agit de :

  • Excel.application
  • Excel.Sheet
  • Excel Chart
Ne vous inquiétez pas par Excel.Application.5. Excel.application pointe toujours vers la dernière version de Microsoft Excel. Excel.Application.5 pointe uniquement vers Microsoft Excel version 5.0.

Il n'existe aucun objet Workbook exposée, donc il n'existe aucun moyen d'accéder directement à l'objet Workbook. Cependant, cette procédure n'est pas un problème, car la méthode parent d'un objet Worksheet ou Chart renvoie l'objet Workbook. L'exemple de code suivant illustre ce point.

Remarque : oleExcel est un contrôle OLE qui contient un objet Excel.Sheet.
   ' Declare object references:
   Dim Xlapp As object
   Dim XLWkb As object
   Dim XLWks As object
   Dim XLWksNew As object

   oleExcel.Action = 7   ' Activate OLE Object

   Set XLWks = oleExcel.Object   ' Alias Worksheet object
   Set XLWkb = XLWks.Parent      ' Alias WorkBook object
   Set Xlapp = XLWks.Application ' Alias Application object

   ' Add a new worksheet to the Workbook and name it:
   Set XLWksNew = XLWkb.Worksheets.add  ' Assign alias to new Worksheet
   XLWksNew.Name = "VB4 OLE Automation" & XLWkb.Worksheets.count

   ' Make the 3rd Worksheet of the Workbook active:
   XLWkb.Worksheets(3).Activate

   ' Display the dialog for InsertPicture:
   Xlapp.dialogs(342).[Show]  ' xlDialogInsertPicture = 342
				

Références

Kit de développement Office, programmation des solutions intégrées

Propriétés

Numéro d'article: 147650 - Dernière mise à jour: mercredi 11 octobre 2006 - Version: 2.3
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Basic 4.0 Édition professionnelle
  • Microsoft Visual Basic 4.0 16-bit Enterprise Edition
  • Microsoft Excel 5.0 Standard
Mots-clés : 
kbmt kb16bitonly kbhowto kbprogramming KB147650 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 147650
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Exclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « en l'état » et ne sera plus mis à jour.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com