الإرشادات التفصيلية: إنشاء مشروع Office جديد باستخدام التنفيذ التلقائى (أو أتمتة) المشروع
ينطبق على |
---|
تنطبق المعلومات الموجودة في هذا الموضوع فقط على أنواع المشاريع وإصدارات Microsoft Office التالية: لمزيد من المعلومات، راجع الميزات المتوفرة بواسطة تطبيقات Office و نوع المشروع. مشروعات على مستوى المستند
|
توضح هذه الإرشادات التفصيلية كيفية إنشاء ماكرو يستخدم نموذج كائن Visual Studio لأتمتة إنشاء مشروع Office. يستخدم المشروع الإعدادات المخصصة في أدوات Visual Studio لمعالج مشروع Office ، بدلاً من الاعتماد على افتراضيات المشروع.
تقوم التعليمات البرمجية بإنشاء مشروع جديد بإعدادات معالج مخصصة بحيث يتم إنشاء المشروع تلقائى التنفيذ باستخدام مصنف Microsoft Office Excel موجود بدلاً من إنشاء مصنف جديد.
لمزيد من المعلومات حول وحدات ماكرو, راجع أتمتة الإجراءات المتكررة باستخدام وحدات الماكرو.
توضح هذه الإرشادات التفصيلية المهام التالية:
إنشاء ماكرو Visual Studio جديد .
إنشاء ملف قالب مؤقت (.vstemplate) بإعدادات مخصصة.
إعداد المعلمات للمعالج و بدء تشغيل المعالج.
المتطلبات الأساسية
تحتاج إلى المكونات التالية لاستكمال هذه الإرشادات التفصيلية:
-
إصدار لـ Visual Studio 2010 يشمل أدوات مطوري Microsoft Office. لمزيد من المعلومات، راجع [تكوين كمبيوتر لتطوير حلول Office](bb398242\(v=vs.100\).md).
- Excel 2010.
إنشاء مصنف Excel
يجب عليك إنشاء مصنف Excel الذي يتم استخدامه كمصنف موجود في المشروع الجديد.
لإنشاء مصنف Excel
قم بإنشاء مجلد على محرك الأقراص C في الكمبيوتر الخاص بك يسمى CreateNewFile.
قم بإنشاء مجلد فرعي في CreateNewFile يسمى Test (اختبار) : C:\CreateNewFile\Test.
قم بفتح Excel 2010.
نوع هذا هو مصنف CreateNewFile في خلية من A1.
حفظ مصنف ك CreateNewFile.xls في الموقع من C:\CreateNewFile.
قم بإغلاق Excel.
يتم استخدام المجلد الفرعي الخاص بالاختبار كموقع للمشاريع المكتملة.
إنشاء ماكرو جديد
في هذه الخطوة، ستقوم بإنشاء ماكرو Visual Studio جديد و فارغ .
لإنشاء ماكرو جديد
افتح Visual Studio و اغلق أي مشاريع مفتوحة .
من أدواتالقائمة, قم بالإشارة إلى Macros، ثم انقر فوق Macros IDE.
تفتح بيئة التطوير المتكاملة (IDE) الخاصة بــ وحدات ماكرو Microsoft Visual Studio.
قم بتوسيع العقدة MyMacros إذا لم يكن قد تم توسيعها بعد .
في القائمة " مشروع " انقر فوق " إضافة وحدة نمطية (Add module)" .
اسم وحدة نمطية? CreateNewProject، و ثم انقر فوق إضافة.
الآن، تفتح الوحدة النمطية الجديدة في IDE وحدات الماكرو. الآن يمكنك إضافة التعليمات البرمجية لإنشاء مشروع جديد.
إنشاء قالب ملف (.vstemplate)
لإنشاء مشروع جديد باستخدام إعدادات المعالج الافتراضية, استخدم أحد ملفات القالب المعرّفة مسبقاً. في Visual Studio، المشروع يفترض إنشاء مستند أو مصنف جديد لاستخدامه في المشروع. لاستخدام مصنف موجود في المشروع الخاص بك ، يجب عليك إنشاء ملف .vstemplate مؤقت مخصص بالإعدادات الصحيحة.
لمزيد من المعلومات حول ملفات .vstemplate، راجع قوالب Visual Studio.
لاستخدام مستند موجود ، قم بإضافة المعلمة المخصصة VSTOExistingDocumentPath إلى ملف .vstemplate.
لإنشاء ملف .vsz مؤقت
في قائمة المشروع انقر فوق إضافة مرجع .
حدد System.Xml.dll،انقر فوق إضافة ثم انقر فوق موافق .
قم بإضافة عبارات التضمين التالية في أعلى ملف التعليمة البرمجية للملف .
Imports System.Xml Imports System.IO
في الوحدة النمطية CreateNewProject ، أضف الأسلوب التالي لتحديد محتويات ملف القالب المؤقت.
Sub CreateVstemplateFile(ByVal defaultTemplateFilePath As String, _ ByVal templateFilePath As String, ByVal docFilePath As String) ' Copy the default template in the temporary location. Dim defaultTemplateDirectory = _ Path.GetDirectoryName(defaultTemplateFilePath) Dim templateDirectory = Path.GetDirectoryName(templateFilePath) If Not Directory.Exists(templateDirectory) Then Directory.CreateDirectory(templateDirectory) End If For Each fileToCopy As String In Directory. _ GetFiles(defaultTemplateDirectory) File.Copy(fileToCopy, Path.Combine(templateDirectory, _ Path.GetFileName(fileToCopy)), True) Next ' Create the vstemplate namespace. Dim vstemplateNamespace As String = _ "https://schemas.microsoft.com/developer/vstemplate/2005" ' Load the XML document. Dim doc As XmlDocument = New XmlDocument() doc.Load(templateFilePath) Dim xmlNsManager As XmlNamespaceManager = _ New XmlNamespaceManager(doc.NameTable) xmlNsManager.AddNamespace("vstemplns", vstemplateNamespace) ' Get 'CustomParameters' XML node. Dim customParametersNode As XmlNode = doc.SelectSingleNode( _ "/vstemplns:VSTemplate/vstemplns:TemplateContent/" _ & "vstemplns:CustomParameters", xmlNsManager) ' Create a new XML CustomParameter node with ' the existing document data. ' <CustomParameter Name="VSTOExistingDocumentPath" _ ' Value="C:\CreateNewFile\CreateNewFile.xls" /> Dim newNode As XmlNode newNode = doc.CreateElement("CustomParameter", _ vstemplateNamespace) Dim nameAttribute As XmlAttribute nameAttribute = doc.CreateAttribute("Name") Dim valueAttribute As XmlAttribute valueAttribute = doc.CreateAttribute("Value") nameAttribute.Value = "VSTOExistingDocumentPath" valueAttribute.Value = docFilePath newNode.Attributes.Append(nameAttribute) newNode.Attributes.Append(valueAttribute) customParametersNode.AppendChild(newNode) doc.Save(templateFilePath) End Sub
يحدد الأسلوب التالي المعلمات و يقوم باستدعاء الأسلوب LaunchWizard .
بدء تشغيل "المعالج"
لإنشاء مشروع جديد ، قم باستخدام أسلوب LaunchWizard من كائن DTE.
لتشغيل المعالج ""
أضف الأسلوب التالي إلي الوحدة النمطية CreateNewProject لملء صفيف المعلمة ثم ابدأ المعالج:
Sub LaunchWizard(ByVal projectName As String, _ ByVal projectFolder As String, _ ByVal templateFilePath As String) Dim params(6) As Object ' New project. params(0) = "{0F90E1D0-4999-11D1-B6D1-00A0C90F2744}" ' Project name. params(1) = projectName ' Project location. params(2) = projectFolder ' Install location. params(3) = "" ' Close solution. params(4) = False ' Solution name. params(5) = "" ' Silent - do not display any user interface. params(6) = False DTE.LaunchWizard(templateFilePath, params) End Sub
وأخيراً، أضف أسلوبا لاستدعاء الأسلوبين اللذين قمت بإنشائهما ثم قم بالتمرير المعلمات المناسبة إليه.
إنشاء المشروع
يقوم الأسلوب التالي بتعريف و تمرير المعلمات الصحيحة إلى الأساليب CreateVstemplateFile و LaunchWizard.
لإنشاء المشروع
أضف الأسلوب التالي إلى الوحدة النمطية CreateNewProject:
Sub CreateProject() Dim sol As Solution2 = DTE.Solution ' Get the path of the default .vstemplate file using ' the name of the template zip file and the language. ' The zip files are "VSTOExcelWorkbook.zip", ' "VSTOExcelTemplate.zip", ' "VSTOWordDocument.zip", ' or "VSTOWordTemplate.zip". ' The languages are "VisualBasic" and "CSharp". Dim defaultTemplateFilePath As String = _ sol.GetProjectTemplate("VSTOExcel2010WorkbookV4.zip", _ "VisualBasic") ' Get the temporary .vstemplate file containing ' the specification. Dim templateDirectory As String = "C:\CreateNewFile\template" Dim templateFilePath = Path.Combine(templateDirectory, _ Path.GetFileName(defaultTemplateFilePath)) ' Get an existing document to use in project creation. Dim docFilePath As String = "C:\CreateNewFile\CreateNewFile.xls" ' Create a temporary template with the wizard specification. CreateVstemplateFile(defaultTemplateFilePath, _ templateFilePath, docFilePath) ' Launch the CreateProject wizard. Dim projectName As String = "CreateNewFile" Dim projectFolder As String = "c:\CreateNewFile\test" LaunchWizard(projectName, projectFolder, templateFilePath) End Sub
احفظ الماكرو .
قم بإغلاق IDE وحدات الماكرو
اختبار الماكرو
الآن يمكنك اختبار الماكرو الخاص بك للتأكد من أنه يقوم بإنشاء مشروع جديد.
لاختبار الماكرو
من القائمة أدوات ، قم بالإشارة إلى وحدات ماكرو، ثم انقر فوق مستكشف ماكرو.
في مستكشف ماكرو، تحت MyMacros، قم بتوسيع الماكرو CreateNewProject.
تحت CreateNewProject، انقر نقراً مزدوجاً فوق CreateProject.
أدوات Visual Studio لمعالج مشروع Office تفتح.
في الصفحة اختر مستندا لتطبيقك (Select a Document For your Application)، انقر فوق موافق .
تحقق من أنه يتم إنشاء المشروع الجديد في المجلد الاختبار الفرعي.
راجع أيضًا:
المهام
كيفية القيام بما يلي: إضافة أوراق عمل إلى المصنفات باستخدام أتمتة مشروع Visual Studio
كيفية القيام بما يلي: تغيير خصائص Excel باستخدام أتمتة مشروع Visual Studio
المبادئ
أمثلة الامتداد #Visual C مشروع و Visual Basic