البرمجة

ماكرو Excel لقراءة وكتابة ملفات نصية بشكل جماعي

Title: تصميم ماكرو لقراءة وكتابة سلسلة النص الأولى وبقية الملفات بشكل جماعي في Microsoft Excel

في هذا المقال، سنتعلم كيفية تصميم ماكرو في Microsoft Excel لقراءة محتويات ملفات نصية (.txt) في دليل معين ونسخ السطر الأول من كل ملف إلى الخلية A1، ثم لصق بقية المحتوى في الخلية B1، وذلك بشكل جماعي حيث يتم تكرار العملية لجميع الملفات في الدليل وتخزين البيانات في الصفوف التالية (A2، B2، A3، B3، إلخ).

لتحقيق هذا، سنستخدم VBA (Visual Basic for Applications)، اللغة المستخدمة لكتابة السكربتات والماكروهات في Excel. يمكنك اتباع الخطوات التالية:

  1. فتح محرر VBA: انقر فوق علامة Visual Basic في شريط الأدوات أو اضغط على Alt + F11 لفتح محرر VBA.

  2. إنشاء ماكرو جديد: انقر على “Insert” ثم “Module” لإنشاء وحدة جديدة.

  3. كتابة الكود التالي:

vba
Sub BulkReadAndWriteTxtFiles() Dim folderPath As String Dim fileName As String Dim fileContent As String Dim rowIndex As Integer ' تحديد مسار المجلد الذي تحتوي على ملفات النصية folderPath = "مسار المجلد" ' تحديد الصف الأول للبدء منه rowIndex = 1 ' فتح الملفات النصية وقراءة البيانات fileName = Dir(folderPath & "\*.txt") Do While fileName <> "" ' قراءة محتوى الملف Open folderPath & "\" & fileName For Input As #1 fileContent = Input$(LOF(1), 1) Close #1 ' نسخ السطر الأول إلى الخلية A1 Cells(rowIndex, 1).Value = Split(fileContent, vbNewLine)(0) ' لصق بقية المحتوى في الخلية B1 Cells(rowIndex, 2).Value = Mid(fileContent, Len(Split(fileContent, vbNewLine)(0)) + 2) ' التحرك إلى الصف التالي rowIndex = rowIndex + 1 ' التحقق من وجود ملفات نصية أخرى fileName = Dir Loop MsgBox "تم الانتهاء من قراءة وكتابة الملفات النصية بنجاح!" End Sub
  1. تحديد مسار المجلد: قم بتعديل folderPath ليشير إلى المسار الذي تحتوي عليه ملفات النصية التي تريد معالجتها.

  2. تنفيذ الماكرو: اضغط F5 لتشغيل الماكرو. سيقوم الماكرو بقراءة وكتابة الملفات النصية بحسب الوصف الذي تقدمت به.

باستخدام هذا الماكرو، يمكنك بسهولة تحقيق المطلوب بالشكل المطلوب.

المزيد من المعلومات

بالطبع، سأوضح بعض المعلومات الإضافية حول الكود المذكور:

  1. Split Function: تستخدم الدالة Split لتقسيم السلسلة إلى مصفوفة استنادًا إلى الفاصل المحدد، وهنا نستخدم vbNewLine كفاصل بين السطور لنحصل على السطر الأول.

  2. Mid Function: تُستخدم الدالة Mid لاسترجاع جزء من السلسلة بناءً على البداية والطول، وهنا نستخدمها للحصول على بقية المحتوى بعد السطر الأول.

  3. Cells Object: يُستخدم Cells(rowIndex, 1) للإشارة إلى الخلية في الصف rowIndex والعمود 1 (الخلية A1)، بينما يُستخدم Cells(rowIndex, 2) للإشارة إلى الخلية في الصف rowIndex والعمود 2 (الخلية B1).

  4. Dir Function: تُستخدم الدالة Dir للحصول على اسم الملف التالي في الدليل.

  5. LOF Function: تُستخدم الدالة LOF للحصول على حجم الملف.

هذه الدوال والكائنات تعتبر جزءًا من VBA وتُستخدم بشكل شائع في العديد من السيناريوهات لتنفيذ مهام معينة. من خلال هذا الكود، يمكنك تحقيق الهدف المحدد بشكل فعال وسهل، مما يوفر الوقت والجهد في معالجة البيانات من ملفات النص.

شاهد أيضاً
إغلاق
زر الذهاب إلى الأعلى