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

Excel VBA اكتب ملف نصي

في VBA يمكننا فتح أو قراءة أو كتابة ملف نصي ، لكتابة ملف نصي يعني البيانات التي لدينا في ورقة إكسل ونريدها إلى ملف نصي أو ملف مفكرة ، هناك طريقتان للقيام بذلك ، أحدهما بواسطة باستخدام خاصية كائن نظام الملفات لـ VBA وأخرى باستخدام أسلوب الفتح والكتابة في VBA.

في معظم الشركات ، بمجرد الانتهاء من التقرير ، فإنها تتطلع إلى تحميل التقرير إلى قاعدة البيانات. للتحميل إلى قاعدة البيانات ، يستخدمون تنسيق "Text Files" لتحديث قاعدة البيانات. عادة ما نقوم بنسخ البيانات من Excel ولصقها في ملف نصي. سبب اعتمادنا على الملفات النصية لأن هذه الملفات سهلة الاستخدام للغاية بسبب طرقها البسيطة وخفيفة الوزن. باستخدام ترميز VBA ، يمكننا أتمتة مهمة نسخ البيانات من ملف Excel إلى ملف نصي. في هذه المقالة ، سنوضح لك كيفية نسخ البيانات أو كتابتها من ملف Excel إلى ملف نصي باستخدام VBA Code.

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

تعد كتابة البيانات من Excel إلى النص ترميزًا معقدًا وتتطلب معرفة جيدة جدًا بتشفير VBA. اتبع الخطوات أدناه لكتابة رمز VBA لنسخ البيانات من Excel إلى ملف نصي.

قبل أن أوضح لك طريقة كتابة الكود ، اسمحوا لي أن أشرح كيفية فتح الملف النصي باستخدام بيان مفتوح.

بناء جملة فتح ملف نصي

فتح [مسار الملف] ، لـ [الوضع] ، كـ [رقم الملف]

مسار الملف: مسار الملف الذي نحاول فتحه على الكمبيوتر.

الوضع: الوضع هو التحكم في فتح الملفات النصية. يمكن أن يكون لدينا ثلاثة أنواع من التحكم في الملف النصي.

  • وضع الإدخال: يقترح هذا التحكم " للقراءة فقط " في فتح الملف النصي. إذا استخدمنا "وضع الإدخال" ، فلا يمكننا فعل أي شيء بالملف. يمكننا فقط قراءة محتويات الملف النصي.
  • وضع الإخراج: باستخدام هذا الخيار يمكننا كتابة المحتوى عليه. النقطة التي يجب أن نتذكرها هنا هي أن جميع البيانات الموجودة سيتم استبدالها. لذلك ، نحن بحاجة إلى الحذر من الخسارة المحتملة للبيانات القديمة.
  • وضع الإلحاق: هذا الوضع هو عكس وضع OutPut تمامًا. باستخدام هذه الطريقة ، يمكننا بالفعل كتابة البيانات الجديدة في نهاية البيانات الموجودة في الملف.

رقم الملف: سيحسب هذا رقم الملف النصي لجميع الملفات النصية المفتوحة. سيتعرف هذا على أرقام الملفات المفتوحة بقيم صحيحة من 1 إلى 511. تعيين رقم الملف هو أمر صعب ويؤدي إلى الكثير من الالتباس. لهذا ، يمكننا استخدام وظيفة الملفات المجانية.

يقوم Free File بإرجاع الرقم الفريد للملفات المفتوحة. بهذه الطريقة يمكننا تعيين رقم ملف فريد بدون أي نوع من القيم المكررة.

يمكنك تنزيل قالب VBA Write Text File من هنا - VBA Write Text File Template

مثال 1

اتبع الخطوات أدناه لكتابة الكود لإنشاء ملف نصي جديد.

افترض أن لديك بالفعل ملفًا نصيًا باسم "Hello.txt" في وحدة تخزين جهاز الكمبيوتر الخاص بك وسوف نوضح لك كيفية كتابة البيانات فيه.

الخطوة 1: إعلان المتغير

قم بتعريف المتغير للاحتفاظ بمسار الملف كسلسلة.

رمز:

 Sub TextFile_Example1 () مسار خافت على هيئة سلسلة نهاية فرعية 

الخطوة 2: تحديد رقم الملف

لتحديد رقم الملف الذي نشير إليه ، نعلن عن متغير آخر باعتباره عددًا صحيحًا.

رمز:

 Sub TextFile_Example1 () مسار خافت على هيئة ملف خافت لسلسلة رقم كعدد صحيح نهاية فرعية 

الخطوة 3: تعيين مسار الملف

الآن بالنسبة لمتغير المسار ، قم بتعيين مسار الملف باسم ملف.

رمز:

 Sub TextFile_Example1 () مسار خافت على هيئة رقم ملف خافت لسلسلة كمسار صحيح = "D: \ Excel Files \ VBA File \ Hello.txt" "تغيير المسار وفقًا لمتطلباتك End Sub 

الخطوة 4: تعيين وظيفة الملفات المجانية

الآن بالنسبة لمتغير رقم الملف ، قم بتعيين الوظيفة "ملف مجاني" لتخزين رقم ملف فريد.

رمز:

 Sub TextFile_Example1 () مسار خافت على هيئة رقم ملف خافت لسلسلة كمسار صحيح = "D: \ Excel Files \ VBA File \ Hello.txt" "تغيير المسار وفقًا لمتطلباتك FileNumber = FreeFile End Sub 

الخطوة 5: افتح ملف نصي

نحتاج الآن إلى فتح الملف النصي للعمل معه. كما أوضحت ، نحتاج إلى استخدام بيان OPEN لفتح الملف النصي.

الخطوة 6: استخدم طريقة الطباعة / الكتابة

بمجرد فتح الملف ، نحتاج إلى كتابة شيء فيه. للكتابة في الملف النصي ، نحتاج إلى استخدام طريقة "الكتابة" أو "الطباعة".

رمز:

 Sub TextFile_Example1 () مسار خافت كملف سلسلة باهتة كمسار صحيح = "D: \ Excel Files \ VBA File \ Hello.txt" "غيّر المسار وفقًا لمتطلباتك FileNumber = FreeFile Open Path للإخراج كـ FileNumber Print #FileNumber،" مرحبًا بـ "Print #FileNumber ،" في "Print #FileNumber ،" VBA "End Sub 

أولاً ، نحتاج إلى ذكر رقم الملف (هنا قمنا بتعيين الملف من خلال المتغير "FileNumber") ، ثم نحتاج إلى إضافة المحتوى الذي نريد إضافته إلى ملف نصي.

الخطوة 7: حفظ وإغلاق ملف نصي

بمجرد كتابة المحتوى في ملف نصي ، نحتاج إلى حفظ الملف النصي وإغلاقه.

رمز:

 Sub TextFile_Example1 () مسار خافت كملف سلسلة باهتة كمسار صحيح = "D: \ Excel Files \ VBA File \ Hello.txt" "غيّر المسار وفقًا لمتطلباتك FileNumber = FreeFile Open Path للإخراج كـ FileNumber Print #FileNumber،" مرحبًا "Print #FileNumber" ، في "Print #FileNumber ،" VBA "إغلاق FileNumber End Sub 

الآن ، قم بتشغيل الكود يدويًا أو من خلال مفتاح الاختصار excel F5 ، وسوف يكتب المحتوى المذكور في الملف النصي المذكور.

المثال رقم 2

سنرى الآن كيفية كتابة بيانات ورقة Excel في ملف نصي.

في هذا المثال ، قمت بإنشاء بيانات بسيطة في Excel كما هو موضح أدناه.

الخطوة 1: مع استمرار المثال القديم ، حدد متغيرين آخرين مثل عدد صحيح للعثور على الصف الأخير والعمود الأخير.

رمز:

 Sub TextFile_Example2 () مسار خافت كملف سلسلة خافت رقم كعدد صحيح خافت LR كعدد صحيح خافت LC كعدد صحيح نهاية فرعية 

الخطوة 2: ابحث عن آخر صف وعمود مستخدمين في ورقة العمل.

الخطوة 3: الآن قم بتعيين مسار الملف ورقم الملف.

الخطوة 4: الآن استخدم بيان OPEN لفتح الملف النصي.

الخطوة 5: نحتاج إلى المرور عبر الصفوف والأعمدة ، لذلك أعلن عن متغيرين آخرين على أنهما عدد صحيح.

الخطوة 6: الآن افتح Loop للتكرار خلال الصف (للحلقة التالية في VBA)

الخطوة 7: الآن للتكرار عبر الأعمدة ، افتح حلقة أخرى داخل الحلقة الحالية.

الخطوة 8: نحتاج إلى كتابة نفس سطر البيانات حتى يصل إلى العمود الأخير. لذلك ، تنطبق عبارة IF في VBA.

الخطوة 9: الآن احفظ وأغلق الملف النصي.

سيقوم هذا الرمز بكتابة التفاصيل إلى ملف نصي ، ولكن لفتح الملف النصي بعد كتابته ، نحتاج إلى استخدام الكود أدناه.

رمز:

 Sub TextFile_Example2 () مسار خافت كملف سلسلة باهتة كعدد صحيح خافت LR كعدد صحيح خافت كعدد صحيح خافت كعدد صحيح خافت كعدد صحيح LR = أوراق عمل ("نص"). خلايا (Rows.Count، 1). End (xlUp) .Row LC = Worksheets ("Text"). Cells (1، Columns.Count). End (xlToLeft) .Column Path = "D: \ Excel Files \ VBA File \ Hello.txt" FileNumber = FreeFile Open Path For Output As FileNumber لـ k = 1 إلى LR لـ i = 1 إلى LC إذا i LC ثم اطبع #FileNumber، Cells (i، k)، Else Print #FileNumber، Cells (i، k) End If Next i Next k إغلاق FileNumber Shell "notepad .exe "& مسار ، vbNormalFocus End Sub 

لذلك ، قم بتشغيل الكود باستخدام المفتاح F5 أو يدويًا بعد ذلك ، سيقوم بنسخ البيانات كما هو موضح أدناه.


$config[zx-auto] not found$config[zx-overlay] not found