Title: تصميم ماكرو لقراءة وكتابة سلسلة النص الأولى وبقية الملفات بشكل جماعي في Microsoft Excel
في هذا المقال، سنتعلم كيفية تصميم ماكرو في Microsoft Excel لقراءة محتويات ملفات نصية (.txt) في دليل معين ونسخ السطر الأول من كل ملف إلى الخلية A1، ثم لصق بقية المحتوى في الخلية B1، وذلك بشكل جماعي حيث يتم تكرار العملية لجميع الملفات في الدليل وتخزين البيانات في الصفوف التالية (A2، B2، A3، B3، إلخ).
-
تحويل ملف إلى HTML في Atom07/03/2024
-
تحديد نوع البيانات في Java18/03/2024
-
تحسين برنامج C لقراءة وتخزين الأرقام16/02/2024
لتحقيق هذا، سنستخدم VBA (Visual Basic for Applications)، اللغة المستخدمة لكتابة السكربتات والماكروهات في Excel. يمكنك اتباع الخطوات التالية:
-
فتح محرر VBA: انقر فوق علامة Visual Basic في شريط الأدوات أو اضغط على
Alt + F11
لفتح محرر VBA. -
إنشاء ماكرو جديد: انقر على “Insert” ثم “Module” لإنشاء وحدة جديدة.
-
كتابة الكود التالي:
vbaSub 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
-
تحديد مسار المجلد: قم بتعديل
folderPath
ليشير إلى المسار الذي تحتوي عليه ملفات النصية التي تريد معالجتها. -
تنفيذ الماكرو: اضغط
F5
لتشغيل الماكرو. سيقوم الماكرو بقراءة وكتابة الملفات النصية بحسب الوصف الذي تقدمت به.
باستخدام هذا الماكرو، يمكنك بسهولة تحقيق المطلوب بالشكل المطلوب.
المزيد من المعلومات
بالطبع، سأوضح بعض المعلومات الإضافية حول الكود المذكور:
-
Split Function: تستخدم الدالة
Split
لتقسيم السلسلة إلى مصفوفة استنادًا إلى الفاصل المحدد، وهنا نستخدمvbNewLine
كفاصل بين السطور لنحصل على السطر الأول. -
Mid Function: تُستخدم الدالة
Mid
لاسترجاع جزء من السلسلة بناءً على البداية والطول، وهنا نستخدمها للحصول على بقية المحتوى بعد السطر الأول. -
Cells Object: يُستخدم
Cells(rowIndex, 1)
للإشارة إلى الخلية في الصفrowIndex
والعمود 1 (الخلية A1)، بينما يُستخدمCells(rowIndex, 2)
للإشارة إلى الخلية في الصفrowIndex
والعمود 2 (الخلية B1). -
Dir Function: تُستخدم الدالة
Dir
للحصول على اسم الملف التالي في الدليل. -
LOF Function: تُستخدم الدالة
LOF
للحصول على حجم الملف.
هذه الدوال والكائنات تعتبر جزءًا من VBA وتُستخدم بشكل شائع في العديد من السيناريوهات لتنفيذ مهام معينة. من خلال هذا الكود، يمكنك تحقيق الهدف المحدد بشكل فعال وسهل، مما يوفر الوقت والجهد في معالجة البيانات من ملفات النص.