עבודה עם 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. ה-API מספק מגוון רחב של תכונות המאפשרות לך ליצור, לשנות ולהמיר חוברות עבודה של MS Excel. בנוסף, ה-API מאפשר לעבוד עם פקודות מאקרו VBA בצורה חלקה. Aspose.Cells עבור .NET זמין עבור הורדה כקובץ DLL וכן מתארח ב-NuGet.

PM> Install-Package Aspose.Cells

חלץ מאקרו VBA מקובץ Excel באמצעות C#

נתחיל בחילוץ פקודות המאקרו של VBA מחוברת עבודה קיימת של Excel. להלן השלבים לביצוע פעולה זו.

דוגמת הקוד הבאה מראה כיצד לחלץ מאקרו 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 עבור 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 בקובץ Excel באמצעות C#

אתה יכול גם לשנות את פקודות המאקרו הקיימות של VBA בקובץ Excel באמצעות השלבים הבאים.

דוגמת הקוד הבאה מראה כיצד לשנות מאקרו 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 עבור .NET בחינם באמצעות רישיון זמני בתוקף ל-30 יום. קבל את שלך עכשיו.

סיכום

פקודות מאקרו VBA בקבצי MS Excel משמשות לאוטומטיות של סוגים שונים של משימות הקשורות לגיליונות אלקטרוניים. על מנת לטפל בפקודות מאקרו של VBA באופן פרוגרמטי, מאמר זה סיקר כיצד לחלץ, להוסיף ולשנות קוד במודולי VBA באמצעות C#. תוכל לחקור עוד על ממשק ה-API למניפולציה של גיליונות אלקטרוניים של C# באמצעות תיעוד.

ראה גם

טיפ: אולי תרצה לבדוק את Aspose אפליקציית אינטרנט להסרת מאקרו בחינם.