العمل مع VBA Macro في C#

VBA(Visual Basic for Applications) هي لغة برمجة تُستخدم في ملفات MS Excel لأتمتة العمليات المتعلقة بجداول البيانات. تُستخدم وحدات ماكرو VBA لكتابة وظائف معرّفة من قبل المستخدم تتيح لك تسريع المهام التي يجب عليك تنفيذها يدويًا. في هذه المقالة ، ستتعلم كيفية العمل مع وحدات ماكرو VBA في ملفات MS Excel برمجيًا. بنهاية هذه المقالة ، ستتمكن من استخراج وإضافة وتعديل وحدات ماكرو VBA في مصنفات Excel باستخدام C#.

العمل مع وحدات ماكرو VBA في ملفات Excel - C# API

Aspose.Cells for .NET هي مكتبة من فئة C# تم تصميمها لأتمتة معالجة جداول البيانات من داخل تطبيقات .NET. توفر واجهة برمجة التطبيقات مجموعة واسعة من الميزات التي تمكنك من إنشاء مصنفات MS Excel وتعديلها وتحويلها. بالإضافة إلى ذلك ، تتيح واجهة برمجة التطبيقات إمكانية العمل مع وحدات ماكرو VBA بسلاسة. يتوفر Aspose.Cells for .NET لـ تنزيل كملف DLL بالإضافة إلى استضافته على NuGet.

PM> Install-Package Aspose.Cells

استخراج وحدات ماكرو VBA من ملف Excel باستخدام C#

لنبدأ باستخراج وحدات ماكرو VBA من مصنف Excel موجود. فيما يلي خطوات إجراء هذه العملية.

  • قم بإنشاء كائن من فئة مصنف لتحميل ملف Excel.
  • قم بالوصول إلى كل وحدة نمطية لـ VBA من مجموعة Workbook.VbaProject.Modules في كائن VbaModule.
  • استرجع التعليمات البرمجية من كل وحدة باستخدام خاصية VbaModule.Codes.

يوضح نموذج التعليمات البرمجية التالي كيفية استخراج ماكرو VBA من مصنف Excel باستخدام C#.

// للحصول على أمثلة وملفات بيانات كاملة ، يرجى الانتقال إلى https://github.com/aspose-cells/Aspose.Cells-for-.NET
// إنشاء كائن مصنف من ملف Excel المصدر
Workbook workbook = new Workbook("sample.xlsm");

// استخرج الكود من كل وحدة VBA
foreach (VbaModule module in workbook.VbaProject.Modules)
{
    string code = module.Codes;
    Console.Write(code);
}

إضافة وحدات ماكرو VBA إلى ملف Excel باستخدام C#

يتيح لك Aspose.Cells for .NET إضافة وحدات ماكرو VBA إلى ملفات Excel الحالية أو الجديدة. يمكن القيام بذلك باتباع الخطوات التالية.

يوضح نموذج التعليمات البرمجية التالي كيفية إضافة ماكرو VBA إلى مصنف Excel باستخدام C#.

// للحصول على أمثلة وملفات بيانات كاملة ، يرجى الانتقال إلى https://github.com/aspose-cells/Aspose.Cells-for-.NET
// قم بإنشاء مصنف جديد
Workbook workbook = new Workbook();

// الوصول إلى ورقة العمل الأولى
Worksheet worksheet = workbook.Worksheets[0];

// أضف وحدة VBA
int idx = workbook.VbaProject.Modules.Add(worksheet);

// قم بالوصول إلى وحدة VBA ، وقم بتعيين اسمها وأكوادها
Aspose.Cells.Vba.VbaModule module = workbook.VbaProject.Modules[idx];
module.Name = "TestModule";

module.Codes = "Sub ShowMessage()" + "\r\n" +
"    MsgBox \"Welcome to Aspose!\"" + "\r\n" +
"End Sub";

// احفظ المصنف
workbook.Save("output_out.xlsm", SaveFormat.Xlsm);

تعديل VBA Macro في ملف Excel باستخدام C#

يمكنك أيضًا تعديل وحدات ماكرو VBA الموجودة في ملف Excel باستخدام الخطوات التالية.

  • استخدم فئة مصنف لتحميل ملف Excel.
  • قم بالوصول إلى وحدات VBA النمطية من مجموعة Workbook.VbaProject.Modules في كائن VbaModule.
  • استرجع التعليمات البرمجية من الوحدة المطلوبة باستخدام خاصية VbaModule.Codes.
  • استبدل الكود واحفظ ملف Excel باستخدام طريقة Workbook.Save(String).

يُظهر نموذج التعليمات البرمجية التالي كيفية تعديل ماكرو VBA في ملف Excel باستخدام C#.

// للحصول على أمثلة وملفات بيانات كاملة ، يرجى الانتقال إلى https://github.com/aspose-cells/Aspose.Cells-for-.NET
// إنشاء كائن مصنف من ملف Excel المصدر
Workbook workbook = new Workbook("sample.xlsm");

// قم بتغيير رمز الوحدة النمطية لـ VBA
foreach (VbaModule module in workbook.VbaProject.Modules)
{
    string code = module.Codes;

    // استبدل الرسالة الأصلية بالرسالة المعدلة
    if (code.Contains("This is test message."))
    {
        code = code.Replace("This is test message.", "This is Aspose.Cells message.");
        module.Codes = code;
    }
}

// احفظ ملف Excel الناتج
workbook.Save("output_out.xlsm");

احصل على رخصة مجانية

يمكنك استخدام أو تقييم Aspose.Cells for .NET مجانًا باستخدام ترخيص مؤقت صالح لمدة 30 يومًا. احصل على لك الآن.

استنتاج

تُستخدم وحدات ماكرو VBA في ملفات MS Excel لأتمتة أنواع مختلفة من المهام المتعلقة بجداول البيانات. للتعامل مع وحدات ماكرو VBA برمجيًا ، تناولت هذه المقالة كيفية استخراج التعليمات البرمجية وإضافتها وتعديلها في وحدات VBA النمطية باستخدام C#. يمكنك استكشاف المزيد حول واجهة برمجة تطبيقات معالجة جداول البيانات C# باستخدام التوثيق.

أنظر أيضا

نصيحة: قد ترغب في التحقق من Aspose تطبيق ويب مجاني لإزالة الماكرو.