Att använda Automationsmodellen

När du har anslutit VSPackage till automation kan du hämta egenskaperna och metoderna genom att anropa GetObject metoden på _DTE objektet och skicka en sträng som representerar det objekt som du vill hämta.

Hämta projektobjekt

Följande är två kodexempel som visar hur en automationskonsument hämtar projektautomatiseringsobjekten. Information om hur du hämtar DTE-objektet finns i Så här hämtar du referenser till DTE- och DTE2-objekten.

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.
}

Nu kan du använda standardprojektobjekten som ingår i en specifik VSPackage för att flytta ned hierarkimodellen.

I följande kodexempel visas hur du hämtar ett anpassat objekt som är en egenskap av en anpassad projekttyp.:

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

Följande kod visar namnen på alla egenskaper i alternativet Allmänt i Visual Studio-miljön på verktygsmenyn :

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