Freigeben über


Verwenden des Automatisierungsmodells

Nachdem Sie Ihr VSPackage mit der Automatisierung verbunden haben, können Sie die Eigenschaften und Methoden abrufen, indem Sie die GetObject Methode für das _DTE Objekt aufrufen und eine Zeichenfolge übergeben, die das abzurufende Objekt darstellt.

Abrufen von Projektobjekten

Im Folgenden finden Sie zwei Codebeispiele, die zeigen, wie ein Automatisierungsanwender die Projektautomatisierungsobjekte abruft. Informationen zum Abrufen des DTE-Objekts finden Sie unter How to: Get References to the DTE and DTE2 Objects.

Sub DoAutomation()
    Dim MyProjects As Projects
    MyProjects = DTE.GetObject("AcmeProject")
End Sub
void DoAutomation(void)
{
  CComQIPtr<Projects> pMyPkg; // Use an IDispatch-derived object type.
    pMyPkg = pDTE->GetObject("AcmeProjects");

   // The '=' performs a Query Interface.
   // Assumes pDTE is already available as a global.
   // Use pMyPkg to access your projects object's properties and methods.
}

An diesem Punkt können Sie die Standardprojektobjekte verwenden, die Teil eines bestimmten VSPackage sind, um das Hierarchiemodell nach unten zu verschieben.

Das folgende Codebeispiel zeigt, wie Sie ein benutzerdefiniertes Objekt abrufen, das eine Eigenschaft eines benutzerdefinierten Projekttyps ist.

Dim MyPrj As Project
Dim MyPrjItem As ProjectItem
Dim objMyObject as MyExtendedObject

MyPrj = MyProjects.Item(1) 'use the Projects collection to get a project
objMyObject = MyPrj.Object 'You call .Object to get to special Project
                           'implementation
objMyObject.MySpecialMethodOrProperty

Der folgende Code listet die Namen aller Eigenschaften in der Option "Allgemein" der Visual Studio-Umgebung im Menü "Extras" auf:

dim objDTE
dim objEnv
set objDTE = CreateObject("VisualStudio.DTE")
set objEnv = objDTE.Properties("Environment", "General")
for each obj in ObjEnv
MsgBox obj.Name
Next