Partager via


Objet Application (Project)

Représente l'application Project dans son intégralité. L'objet Application contient :

  • des paramètres et des options de l’application (par exemple de nombreuses options de la boîte de dialogue Options accessible depuis le menu Outils) ;

  • des propriétés renvoyant des objets de niveau supérieur, par exemple ActiveCell, ActiveProject, etc. ;

  • des méthodes agissant sur les éléments de l’application, par exemple les affichages, les sélections, les actions de modification, etc.

Utilisation de l’objet Application

Utilisez la propriété Application pour renvoyer un objet Application dans Project . L’exemple suivant permet d’appliquer la propriété Windows à l’objet Application.

Application.Windows("Project1.mpp").Activate

Utilisation de Project à partir d’une autre application : liaison différée

L’exemple suivant crée l’objet Application Microsoft Project au moment de l’exécution, crée un projet, ajoute une tâche, enregistre le projet, puis ferme le projet . Par exemple, copiez et collez la macro CreateProject_Late dans le module ThisDocument dans Visual Basic Editor (VBE) de Word.

Remarque

Étant donné que l’application n’interroge la bibliothèque de types MSProject.Application qu’au moment de l’exécution, Microsoft IntelliSense n’est pas disponible et les performances sont relativement faibles dans les liaisons différées. Les langages de script, tels que JavaScript et VBScript, nécessitent une liaison tardive. VBScript ne prend en charge que les types de données génériques Object et Variant. Pour de meilleures performances dans VBA et d’autres langages compilés, il est conseillé d’utiliser la liaison anticipée en définissant une référence dans la bibliothèque de types de Project.

Sub CreateProject_Late() 
    Dim pjApp As Object 
    Set pjApp = CreateObject("MSProject.Application") 
    pjApp.Visible = True 
    pjApp.FileNew 
    pjApp.ActiveProject.Tasks.Add "Hang clocks" 
    pjApp.FileSaveAs "Clocks.mpp" 
    pjApp.FileClose 
    pjApp.Quit 
End Sub

Si vous ne définissez pas la propriété Visible sur True, l’application Project fonctionne en arrière-plan sans être visible.

Utilisation de Project à partir d’une autre application : liaison anticipée

Les performances de la liaison anticipée sont supérieures car la bibliothèque de types est chargée au moment de la conception. Pour utiliser la liaison anticipée, vous devez définir une référence dans l’application Project à partir de l’application active. Par exemple, dans vbE pour un document Word, cliquez sur Références dans le menu Outils , faites défiler la liste Références disponibles , puis cochez la case Bibliothèque d’objets Microsoft Project 15.0 .

L’exemple suivant ouvre un projet à partir d’une autre application telle qu’Excel, ajoute une tâche, puis enregistre et ferme le projet.

Sub ModifyProject_Early() 
    Dim pjApp As MSProject.Application 
    Set pjApp = New MSProject.Application 
    pjApp.Visible = True 
    pjApp.FileOpen "Clocks.mpp" 
    pjApp.ActiveProject.Tasks.Add "Wind clocks" 
    pjApp.FileSave 
    pjApp.FileClose 
    pjApp.Quit 
End Sub

Remarques

Importante

Pour les événements au niveau de l’application, inscrivez les gestionnaires d’événements après avoir défini Application.Visible = True.

Si vous instanciez Project à partir d’une autre application et inscrivez un événement au niveau application avant de définir la propriété Visible de l’objet Application sur True, les propriétés et méthodes des objets enfants d’Application ne fonctionnent pas. Par exemple, Application.ActiveProject.Name n’est pas accessible.

La plupart des propriétés et méthodes qui retournent les objets d’interface utilisateur les plus courants, tels que le projet actif , représenté par la propriété ActiveProject , peuvent être utilisées sans le qualificateur d’objet Application . Par exemple, au lieu d’écrire Application.ActiveProject.Visible = True , vous pouvez écrire ActiveProject.Visible = True

Événements

Méthodes

Nom

Propriétés

Nom

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.