COM - Component Object Model

D├ęcembre 2016

Objets COM

Microsoft COM (Component Object Model) est un standard permettant de définir des API objet, c'est-à-dire permettant à des applications de communiquer par l'intermédiaire d'objets possédant un certain nombre de méthodes et de propriétés publiques. Les objets ActiveX sont un type particulier d'objets COM.

COM fournit des mécanismes permettant des liens entre applications, parmi lesquels :

  • liaisons dynamiques entre applications appelés OLE (Object Link and Embedding, traduisez Liaison et incorporation d'objets), permettant par exemple de lier un fichier tableur dans un document,
  • mécanismes d'automates (en anglais automation) permettant de prendre contrôle d'une application à distance.
  • mécanismes d'échanges de messages dynamiques entre applications, appelés DDE (Dynamic Data Exchange).

Un grand nombre d'applications possèdent une interface COM, permettant d'invoquer leur fonctionnalités via un programme informatique :

  • Microsoft Word
  • Microsoft Access
  • Microsoft Excel
  • Microsoft Internet Explorer
  • Microsoft Outlook
  • etc.

Accéder à des objets COM

Grâce aux objects COM, il est possible d'étendre à l'infini les possibilités de VBScript en créant des instances d'objets créés par des tiers et fournissant un certain nombre de services.

VBScript définit deux méthodes permettant d'instancier un objet COM :

  • CreateObject permet de créer une nouvelle instance d'un programme possédant une interface COM et l'exécuter si le programme n'est pas déjà ouvert. Par exemple, pour ouvrir le programme Excel :
    Set tableur = CreateObject("Excel.Application")
  • GetObject permet d'invoquer un programme dont une instance est déjà ouverte ou à partir d'un fichier créé avec cette application. Par exemple :
    Set monDocument = GetObject("c:\rapport.doc")


A voir également :

Ce document intitulé «  COM - Component Object Model  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.