
VBA(Visual Basic for Applications) היא שפת תכנות המשמשת בקבצי MS Excel על מנת להפוך פעולות הקשורות לגיליונות אלקטרוניים לאוטומטיים. פקודות מאקרו VBA משמשות לכתיבת פונקציות המוגדרות על ידי משתמש המאפשרות לך להאיץ את המשימות שאתה צריך לבצע באופן ידני. במאמר זה תלמדו כיצד לעבוד עם פקודות מאקרו VBA בקבצי MS Excel באופן פרוגרמטי. עד סוף מאמר זה, תוכל לחלץ, להוסיף ולשנות פקודות מאקרו VBA בחוברות עבודה של Excel באמצעות C#.
- עבודה עם מאקרו VBA באמצעות API של C#
- חלץ מאקרו VBA מחוברת עבודה של Excel
- הוסף פקודות מאקרו VBA לחוברת עבודה של Excel
- שנה מאקרו VBA בחוברת עבודה של Excel
- קבל רישיון חינם
עבודה עם מאקרו 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. להלן השלבים לביצוע פעולה זו.
- צור אובייקט של המחלקה Workbook כדי לטעון את קובץ ה-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 עבור NET מאפשר לך גם להוסיף פקודות מאקרו VBA לקבצי Excel קיימים או חדשים. ניתן לעשות זאת על ידי ביצוע השלבים הבאים.
- צור קובץ Excel חדש או טען קובץ קיים באמצעות המחלקה Workbook.
- הוסף גיליון עבודה חדש או קבל את הקיים באמצעות המחלקה Worksheet.
- הוסף מודול VBA חדש באמצעות שיטת Workbook.VbaProject.Modules.Add(Worksheet) וקבל את מזהה המודול.
- גש למודול VBA מאוסף Workbook.VbaProject.Modules[idx] לתוך אובייקט VbaModule.
- הוסף את שם המודול באמצעות המאפיין VbaModule.Name.
- הוסף קוד למודול באמצעות המאפיין VbaModule.Codes.
- שמור את חוברת העבודה באמצעות השיטה Workbook.Save(String, SaveFormat.Xlsm).
דוגמת הקוד הבאה מראה כיצד להוסיף מאקרו 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 באמצעות השלבים הבאים.
- השתמש במחלקה Workbook כדי לטעון את קובץ ה-Excel.
- גש למודולי VBA מאוסף Workbook.VbaProject.Modules לתוך אובייקט VbaModule.
- אחזר קוד מהמודול הרצוי באמצעות המאפיין VbaModule.Codes.
- החלף את הקוד ושמור את קובץ האקסל בשיטת 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 עבור .NET בחינם באמצעות רישיון זמני בתוקף ל-30 יום. קבל את שלך עכשיו.
סיכום
פקודות מאקרו VBA בקבצי MS Excel משמשות לאוטומטיות של סוגים שונים של משימות הקשורות לגיליונות אלקטרוניים. על מנת לטפל בפקודות מאקרו של VBA באופן פרוגרמטי, מאמר זה סיקר כיצד לחלץ, להוסיף ולשנות קוד במודולי VBA באמצעות C#. תוכל לחקור עוד על ממשק ה-API למניפולציה של גיליונות אלקטרוניים של C# באמצעות תיעוד.
ראה גם
טיפ: אולי תרצה לבדוק את Aspose אפליקציית אינטרנט להסרת מאקרו בחינם.