共用方式為


使用自動化模型

在將 VSPackage 連接到自動化後,您可以在_DTE物件上呼叫GetObject方法,傳遞一個字串來表示您想要擷取的物件,以取得其屬性和方法。

取得專案物件

以下是兩個程式碼範例,顯示自動化取用者如何取得專案自動化物件。 如需如何取得 DTE 物件的資訊,請參閱 如何:取得 DTE 和 DTE2 物件的參考

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

此時,您可以使用屬於特定 VSPackage 一部分的標準專案物件,向下移動階層模型。

下列程式碼範例示範如何取得自訂物件,該物件是自訂專案類型的屬性。

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

下列程式碼列出 [工具] 功能表上 Visual Studio 環境 [一般] 選項中所有屬性的名稱:

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