كيفية إنشاء ملف نصي والكتابة عليه باستخدام vba؟

لإنشاء نص باستخدام التعليمات البرمجية لـ VBA، يجب عليك استخدام الأسلوب CreateTextFile. تسمح لك هذه الطريقة بتعيين الموقع الذي تريد إنشاءه فيه. تحتوي هذه الطريقة على بناء جملة حيث يمكنك تحديد ما إذا كنت تريد الكتابة فوق الملف في الموقع وتحديد ما إذا كان الملف قد تم إنشاؤه كملف Unicode أو ASCII.

قم بإنشاء ملف نصي باستخدام VBA

استخدم الخطوات التالية:

  1. أولاً، تحتاج إلى استخدام كائن FileSystemObject أو Folder لاستخدامه مع الطريقة.
    create-a-text-fie-using-vba
  2. بعد ذلك، تحتاج إلى إنشاء كائن آخر باستخدام الأسلوب CreateTextFile.
    create-text-file-method
  3. في هذا الكود، استخدمنا TRUE للكتابة فوق إذا كان هناك بالفعل ملف بنفس الاسم في المجلد.
  4. في النهاية، عند تشغيل هذا الماكرو، قم بإنشاء ملف نصي جديد في المجلد كما يلي.
 Sub create_text_file() 'object to use as folder Dim fld As Object Set fld = CreateObject("Scripting.FileSystemObject") 'using create text file method Dim myFile As Object Set myFile = fld.CreateTextFile("C:UsersDellDesktopmyFoldermyTextFile.txt", True) End Sub

بناء جملة الأسلوب CreateTextFile

 CreateTextFile (filename, [ overwrite, [ unicode ]])
  • اسم الملف: مسار واسم الملف الذي تريد إنشاءه.
  • الكتابة الفوقية: منطقية لتحديد ما إذا كنت تريد الكتابة فوق الملف (إذا كان موجودًا بالفعل) (اختياري).
  • unicode: منطقي لتحديد ما إذا كان الملف قد تم إنشاؤه كملف Unicode أو ASCII (اختياري).

الكتابة إلى ملف نصي باستخدام VBA

يمكنك استخدام عبارتين لكتابة البيانات إلى ملف نصي:

  1. الكتابة: باستخدام هذا البيان، يمكنك كتابة البيانات في ملف نصي حيث سيكون لديك فواصل بين القيم، وعلامات الاقتباس حول السلاسل، وعلامات # حول التواريخ.
    write-statement
  2. الطباعة: باستخدام هذا البيان، يمكنك كتابة البيانات في ملف نصي بنفس المظهر الموجود في جدول بيانات Excel.
    print-statement

سننظر الآن إلى أمثلة لكلا العبارتين ونفهم كيفية كتابة التعليمات البرمجية الكاملة للكتابة في ملف نصي. ولكن قبل ذلك، عليك أن تفهم بعض المصطلحات لكتابة الكود بالطريقة التي تريدها.

  • للإخراج: يمكنك استخدام هذا الأمر عندما تريد كتابة البيانات أو تعديل البيانات في ملف نصي.
  • للإدخال: باستخدام هذا الأمر، يمكنك استخراج البيانات من النص، لكن لن تتمكن من تعديل البيانات وإضافتها إلى الملف.
  • للإضافة: يساعدك هذا الأمر على إضافة بيانات جديدة أسفل الملف النصي.
  • FreeFile: يمكنك استخدام هذا لتعيين رقم ملف غير مستخدم للملف النصي الذي تريد استخدامه بحيث يمكنك الرجوع إليه.

لنكتب الآن رمزًا لإدخال البيانات في ملف نصي.

  1. أولاً، عليك أن تعلن عن المتغيرات التي ستستخدمها في الكود.
    declare-variables
  2. بعد ذلك، تحتاج إلى تحديد النطاق الذي تريد كتابته في الملف النصي. واستخدم عدد الخلايا الموجودة في النطاق كعداد للحلقة عن طريق تعيينها على متغير.
    define-the-range
  3. بعد ذلك، تحتاج إلى تعيين عنوان الملف النصي الذي تريد إضافة البيانات إليه.
    define-the-address-of-the-text-file
  4. من هناك، تحتاج إلى إعلان أمر “FreeFile” لمتغير للحصول على رقم الملف.
    freefile-command
  5. أنت الآن بحاجة إلى الإنشاء باستخدام أمر “Output” لأنك تحتاج إلى إضافة بيانات إلى الملف.
    output-command
  6. أخيرًا، تحتاج إلى استخدام حلقة “For Next” للحصول على قيم النطاق واحدة تلو الأخرى وإضافتها إلى الملف.
    for-next-loop-to-get-values
  7. بالإضافة إلى ذلك، تحتاج إلى استخدام أمر الإغلاق لإغلاق الملف النصي بعد إضافة البيانات إليه.
    close-command
  8. في النهاية، عند تشغيل هذا الماكرو، فإنه يضيف بيانات من النطاق A1:A13 إلى الملف النصي الذي قمت بحفظه في المسار الذي ذكرته.
    run-the-macro

ملاحظة: تأكد من تغيير مسار الملف النصي من الكود حسب المسار الموجود في نظامك.

 Option Explicit Sub data_to_text_file() 'variables that you need to use in the code Dim TextFile As Integer Dim iCol As Integer Dim myRange As Range Dim cVal As Range Dim i As Integer Dim myFile As String 'define the range that you want to write Set myRange = Range("A1:A13") iCol = myRange.Count 'path to the text file (MAKE SURE TO CHANGE IT) myFile = "C:UsersDellDesktopNewFoldertextfile.txt" 'define FreeFile to the variable file number TextFile = FreeFile 'using append command to add text to the end of the file Open myFile For Output As TextFile 'loop to add data to the text file For i = 1 To iCol Print #TextFile, Cells(i, 1), Print #TextFile, Cells(i, 2) Next i 'close command to close the text file after adding data Close #TextFile End Sub

اضف تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *