طراز كائن مشروع ماكرو

Visual Studioتتضمن أدوات الكتابة وتسجيل وحدات الماكرو. (للحصول على نظرة عامة حول راجع أتمتة الإجراءات المتكررة باستخدام وحدات الماكرو.)Visual Studioيتضمن طراز كائن قابل للبرمجة كشف مشاريع الماكرو. يحتوي هذا الطراز على كل الكائنات القابلية للتوسعة العامة للعناصر الحيادي اللغة المشروع والكائنات الخاصة الماكرو. الكائنات الخاصة الماكرو العثور على في VSLangProj، VSLangProj2و VSLangProj80مساحات الأسماء, تستخدم فقط كما هو موضح في Visual Basicو #Visual Cالمشاريع. يناقش هذا الموضوع:

  • الوصول إلى القابلية للتوسعة في الكائنات من مشروع ماكرو

  • مشاريع الماكرو و VSProjectفي VSProject2الكائنات

  • عناصر الماكرو الخاصة VSLangProjالكائناتVSLangProj2،VSLangProj80

للحصول على أكثر المعلومات على VSLangProj، VSLangProj2و VSLangProj80الكائنات، راجع مقدمة إلى مشروع الامتداد. للحصول على مزيد من المعلومات حول القابلية للتوسعة العامة راجع توسيع بيئة لـ Visual Studio.

الوصول إلى القابلية للتوسعة في الكائنات من مشروع ماكرو

يتم الوصول إلى مشاريع الماكرو خلال MacrosIDEخاصية DTE2القابلية للتوسعة الكائن. بحيث يكون حق الوصول إلى وحدات الماكرو بيئة التطوير المتكاملة (IDE) "بما في ذلك حلول ، المشاريع ، إطارات الأدوات ، المستندات، الأحداث.MacrosIDEالخاصية بإرجاع كائن من النوعDTE2 الماكرو التالي يسرد الكل الوحدات النمطية في مشروع ماكرو.

' Macro editor
Public Sub FindMacros()
   Dim macroproject As Project
   ' Retrieve the first project in the Macros IDE.
   macroproject = DTE.MacrosIDE.Solution.Projects.Item(1)
   ' Display the project's name.
   MsgBox(macroproject.Name)
   ' Display each project item (module).
   Dim projitem As ProjectItem
   For Each projitem In macroproject.ProjectItems
      MsgBox(projitem.Name)
   Next
End Sub 

مشاريع الماكرو والكائنات VSLangProj

مشروع طراز القابلية للتوسعة عام يتم تمثيل بواسطة عام Projectالكائن. Projectيحتوي الكائن Objectالخاصية. في مشروع ماكرو Objectتقوم الخاصية بإرجاع كائن من النوع VSProject. لأن نوع Objectخاصية كائن ، يجب تحويل المرجع إلى اكتب VSProject. يمكنك استخدام PrjKindأو PrjKind2القائمة تعداد إلى تحقق من نوع المشروع قبل إجراء الحالة. سيبدو فريق العمل التالية في حالة إجراء في ماكرو:

' Macro editor
Public Sub CastToVSProject()
   ' Retrieve the general extensibility object.
   Dim macroproject As Project
   macroproject = DTE.MacrosIDE.Solution.Projects.Item(1)

   ' Cast for the macro specific information.
   Dim vsproj As VSLangProj.VSProject

   ' Can test type of project before cast.
   If (macroproject.Kind = VSLangProj.PrjKind.prjKindVSAProject) Then
      vsproj = CType(macroproject.Object, VSLangProj.VSProject)
   End If
   MsgBox(vsproj.Project.Name)
End Sub

VSProject2هو كائن حاوية عدة كائنات في VSLangProj، VSLangProj2و VSLangProj80مساحات الاسم, بما في ذلك References، Reference، Imports, و BuildManagerالكائنات.

مشروع طراز القابلية للتوسعة عام يتم تمثيل بواسطة عام ProjectItemالكائن. ProjectItemيحتوي الكائن Objectالخاصية. في مشروع ماكرو Objectتقوم الخاصية بإرجاع كائن من النوع VSProjectItem. لأن نوع Objectخاصية كائن ، يجب تحويل المرجع إلى اكتب VSProjectItem. سيبدو فريق العمل التالية في حالة إجراء في ماكرو:

' Macro editor
Public Sub CastToVSProjectItem()
   Dim projitem As ProjectItem
   Dim vsitem As VSLangProj.VSProjectItem
   For Each projitem In _
      DTE.MacrosIDE.Solution.Projects.Item(1).ProjectItems
      vsitem = CType(projitem.Object, VSLangProj.VSProjectItem)
      MsgBox(vsitem.ProjectItem.Name)
   Next
End Sub

عناصر الماكرو الخاصة الكائنات،

الكائنات الموجودة في VSLangProj، VSLangProj2و VSLangProj80مساحات الاسم تستخدم Visual Basicو #Visual Cمشاريع الماكرو. هناك بعض قيم القائمة تعداد معينة إلى مشاريع الماكرو. PrjKindقائمة تعداد القيمة مشاريع الماكرو prjKindVSAProject. PrjBrowseObjectCATIDيحتوي قائمة تعداد القيم التالية من توسيع العناصر في النافذة "خصائص":

prjCATIDVSAFolderBrowseObject

prjCATIDVSAFileBrowseObject

prjCATIDVSAConfig

prjCATIDVSAReferenceBrowseObject

سلوك خاصة الماكرو كائنات VSLangProj

السلوك VSLangProj، VSLangProj2و VSLangProj80الكائنات باختلاف قليلاً Visual Basic، #Visual Cمشاريع الماكرو. وهذا بحيث يمثل الكائن نوع المشروع بشكل دقيق. العديد من الخصائص و الأساليب الكائنات غير معتمدة على مشاريع الماكرو كما هو موضح أدناه.

VSProjectيمثل هذا الكائن تفاصيل خاصة الماكرو المشروع.

  • BuildManagerلا يتم اعتماد هذه الخاصية ثم يطرح الوصول إلى هذه الخاصية على ‏‏ استثناء.

  • CopyProjectلا يتم اعتماد هذا الأسلوب ثم يطرح استدعاء هذا الأسلوب على ‏‏ استثناء.

  • WorkOfflineإرجاع هذه الخاصية دوماًFalse. لم بطرح محاولة تعيين هذه الخاصية ‏‏ استثناء ، ولكن لا يمكن تعيين الخاصية إلى True.

VSProjectItemيمثل هذا الكائن تفاصيل خاصة الماكرو المشروع.

  • RunCustomToolلا يتم اعتماد هذا الأسلوب ثم يطرح استدعاء هذا الأسلوب على ‏‏ استثناء.

ProjectProperties3تصف هذه الخصائصVisual Basic, #Visual Cمشاريع الماكرو. الخصائص التالية غير معتمدة:

ActiveFileSharePath

FullPath

ApplicationIcon

LinkRepair

AssemblyName

OfflineURL

AssemblyKeyContainerName

OutputFileName

AssemblyOriginatorKeyFile

OutputType

AssemblyOriginatorKeyMode

URL

DefaultClientScript

WebAccessMethod

DefaultHTMLPageLayout

WebServer

DefaultTargetSchema

WebServerVersion

ActiveFileSharePath

 

FileProperties2تصف هذه الخصائصVisual Basic, #Visual Cمشاريع الماكرو. خصائص الملف التالية غير معتمدة ثم سيتم الوصول إليها بطرح خطأ :

Author

FullPath

BuildAction

IsDependentFile

IsCustomToolOutput

IsDesignTimeBuildInput

CustomToolNamespace

IsLink

CustomToolOutput

HTMLTitle

DateCreated

LocalPath

DateModified

ModifiedBy

Extension

SubType

FileName

URL

خصائص الملف التالية غير معتمدة ثم سيتم الوصول إليها بطرح خطأ :

FullPath

URL

LocalPath

 

ProjectConfigurationProperties3تصف هذه الخصائصVisual Basic, #Visual Cالتكوينات توزيع الماكرو. خصائص الملف التالية غير معتمدة ثم سيتم الوصول إليها بطرح خطأ :

AllowUnsafeBlocks

IntermediatePath

BaseAddress

OutputPath

CheckForOverflowUnderflow

StartAction

DocumentationFile

StartArguments

EnableASPXDebugging

StartProgram

EnableUnmanagedDebugging

StartURL

IncrementalBuild

StartWithIE

Reference3يمثل هذا الكائن مرجع مشروع واحد. الخاصية التالية غير معتمد ويمكن الوصول إلى هذه الخاصية سيتم طرح ‏‏ استثناء:

Referencesهذا الكائن يمثل مجموعة من الكل المراجع في مشروع ماكرو. لم يتم دعم الطرق التالية ثم استدعاء أحدها سيتم طرح ‏‏ استثناء:

AddActiveX

AddProject

راجع أيضًا:

المرجع

MacrosIDE

VSProject

Imports

VSProjectItem

BuildManager

VSProject2

Reference3

المبادئ

مقدمة إلى مشروع الامتداد