Vba: كيفية حفظ الأوراق كملفات csv (مع مثال)
يمكنك استخدام بناء الجملة التالي في VBA لحفظ كل ورقة من المصنف في ملف CSV:
Sub SaveCSV()
Dim Ws As Worksheet
Dim SaveDir As String
Dim CurrentWorkbook As String
Dim CurrentFormat As Long
CurrentWorkbook = ThisWorkbook.FullName
CurrentFormat = ThisWorkbook.FileFormat
'specify directory to save CSV files in
SaveDir = " C:\Users\bobbi\OneDrive\Desktop\ "
'save each sheet to individual CSV file
For Each Ws In Application.ActiveWorkbook.Worksheets
Ws.SaveAs SaveDir & Ws.Name, xlCSV
Next
Application.DisplayAlerts = False
ThisWorkbook.SaveAs Filename:=CurrentWorkbook, FileFormat:=CurrentFormat
Application.DisplayAlerts = True
End Sub
سيحفظ هذا الماكرو المحدد كل ورقة من المصنف النشط حاليًا في ملف CSV.
سيتم حفظ ملفات CSV في المسار المحدد في متغير SaveDir .
ملاحظة : السطر Application.DisplayAlerts=False يخبر VBA بتعطيل كافة تنبيهات العرض في Excel مؤقتًا عند حفظ الملفات.
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: حفظ الأوراق كملفات CSV باستخدام VBA
لنفترض أن لدينا مصنف Excel يحتوي على ورقتين.
الورقة الأولى تسمى player_stats وتحتوي على إحصائيات حول لاعبي كرة السلة المختلفين:
الورقة الثانية تسمى team_info وتحتوي على معلومات حول فرق كرة السلة المختلفة:
لنفترض أننا نريد حفظ كل ورقة من هذه الأوراق كملفات CSV فردية على سطح مكتب جهاز الكمبيوتر الخاص بنا.
يمكننا إنشاء الماكرو التالي للقيام بذلك:
Sub SaveCSV()
Dim Ws As Worksheet
Dim SaveDir As String
Dim CurrentWorkbook As String
Dim CurrentFormat As Long
CurrentWorkbook = ThisWorkbook.FullName
CurrentFormat = ThisWorkbook.FileFormat
'specify directory to save CSV files in
SaveDir = " C:\Users\bobbi\OneDrive\Desktop\ "
'save each sheet to individual CSV file
For Each Ws In Application.ActiveWorkbook.Worksheets
Ws.SaveAs SaveDir & Ws.Name, xlCSV
Next
Application.DisplayAlerts = False
ThisWorkbook.SaveAs Filename:=CurrentWorkbook, FileFormat:=CurrentFormat
Application.DisplayAlerts = True
End Sub
بمجرد تنفيذ هذا الماكرو، سيتم حفظ كل ورقة كملف CSV على سطح المكتب لدينا.
إذا انتقلت إلى سطح مكتب جهاز الكمبيوتر الخاص بي، فيمكنني رؤية كل ملف من ملفات CSV الفردية هذه مع أسماء الملفات التي تتطابق مع أسماء الأوراق:
إذا قمت بفتح ملف player_stats CSV باستخدام برنامج “المفكرة”، فيمكنني أن أرى أن القيم الموجودة في ملف Excel تم حفظها كقيم مفصولة بفواصل:
لاحظ أنه في هذا المثال تمكنا من حفظ ورقتين في المصنف الخاص بنا كملفات CSV فردية، ولكن نفس الماكرو سيعمل مع أي عدد من الأوراق.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:
VBA: كيفية حساب عدد الأوراق في المصنف
فبا: كيفية استخراج البيانات من مصنف آخر
فبا: كيفية إضافة أوراق جديدة