مشاركة عبر


كيفية القيام بما يلي: استخدام إضافة-أدوات لوحدات الماكرو للتحكم

The Macros كائن في the Visual Studio automation model gives you a المقياس of programmatic عنصر تحكم over وحدات الماكرو being recorded في the integrated development بيئة (IDE). بواسطة using it, you can:

  • Pause أو سيرة ذاتية the ماكرو recorder.

  • إضافة واحد أو المزيد lines of تعليمات برمجية إلى the ماكرو being recorded.

  • Determine whether the ماكرو recorder هو currently recording a ماكرو.

يمكنك أيضا استخدام ExecuteCommandالأسلوب شكل مباشر بإصدار أمر إلى IDE، مثل كـ بإنشاء ملف جديد.

ملاحظة

Macrosلم يتم تصميم الأعضاء كائن إلى يمكن استخدامها داخل ماكرو; يجب أن يستخدم فقط داخل بوصة إضافة

Visual Basicيوضح المثال التالي كيفية إلى الرجوع واستخدام عدة الأعضاء طراز وحدات الماكرو auإلىmation.

ملاحظة

قد تختلف مربعات الحوار وأوامر القائمة التى تشاهدها الان عن تلك الموصوفة في التعليمات اعتماداً على الإعدادات النشطة أو الإصدار الخاص بك. تم تطوير هذه الإجراءات من خلال "إعدادات تطوير عام" النشط. To change your settings, choose Import and Export Settings on the Tools menu. لمزيد من المعلومات، راجع العمل مع إعدادات.

مثال

يتحقق المثال التالي إلى معرفة ما إذا كان ماكرو هو حاليا التسجيل. إذا كان ذلك هو، يقوم Access بإضافة الخطية زائدة من تعليمات برمجية إليها.

Public Sub OnConnection(ByVal application As Object, _
  ByVal connectMode As ext_ConnectMode, ByVal addInInst _
  As Object, ByRef custom As Array) Implements _
  IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
    macroTest(_applicationObject)
End Sub

Public Sub macroTest(ByVal dte As DTE2)
    Try
        Dim objMac As Macros = dte.Macros
        ' Determine if a macro is recording. If it is, 
        ' add a line of code to it and then let it resume 
        ' recording.
        If objMac.IsRecording = True Then
            objMac.EmitMacroCode _
              ("MsgBox(""This was added by code."")")
        Else
            MsgBox("Macro is not recording.")
        End If
    Catch ex As Exception
        MsgBox(ex.ToString)
    End Try
End Sub
public void OnConnection(object application, ext_ConnectMode 
  connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    macroTest(_applicationObject);
}

public void macroTest(DTE2 dte)
{
    try
    {
        Macros objMac = dte.Macros;
        // Determine if a macro is recording. If it is, 
        // add a line of code to it and then let it resume 
        // recording.
        if (objMac.IsRecording == true)
        {
            objMac.EmitMacroCode(
              "MsgBox(\"This was added by code.\")");
        }
        else
        {
            System.Windows.Forms.MessageBox.Show(
              "Macro is not recording.");
        }
    }
    catch (Exception ex)
    {
        System.Windows.Forms.MessageBox.Show(ex.Message);
    }
}

إذا كنت تريد تسجيل ماكرو وفتح ملف نصي، th هو هو ما سيبدو تعليمات برمجية للماكرو مثل:

Public Module RecordingModule
    Sub TemporaryMacro()
        DTE.ItemOperations.NewFile("General\Text File")
    End Sub
End Module

عند تشغيل تعليمات برمجية المثال والقيام بنفس الشيء، إلى خط إضافي هو صدور (تمت الإضافة) للتعليمات البرمجية للماكرو:

Public Module RecordingModule
    Sub TemporaryMacro()
        DTE.ItemOperations.NewFile("General\Text File")
        MsgBox("This line was added by code.")
    End Sub
End Module

راجع أيضًا:

المهام

كيفية القيام بما يلي: الصفات المميزة لإطار تغيير

كيفية القيام بما يلي: قم بإنشاء إضافة-في

الإرشادات التفصيلية: إنشاء معالج

المبادئ

أتمتة الإجراءات المتكررة باستخدام وحدات الماكرو

مخطط نموذج كائن تلقائي

موارد أخرى

إنشاء و التحكم في بيئة Windows

إنشاء إضافة-زر 'Ins' ومعالجات

التنفيذ التلقائي والمرجع الامتداد