VBA FreeFile | كيفية استخدام وظيفة FreeFile في Excel VBA؟

ملف Excel VBA FreeFile

FreeFile هي دالة في VBA تتوفر فقط كدالة VBA وليس كدالة في ورقة العمل. تقوم وظيفة VBA FreeFile بإرجاع رقم صحيح فريد للملف الذي يتم فتحه ويحافظ على الرقم الخاص برقم الملف المتاح التالي.

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

ألقِ نظرة الآن على صيغة العبارة المفتوحة.

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

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

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

وضع الإدخال لقراءة الملف فقط.

وضع الإخراج لمسح البيانات الموجودة وإدخال بيانات جديدة.

وضع الإلحاق لإضافة بيانات جديدة مع الاحتفاظ بالبيانات الموجودة.

رقم الملف: بهذه الوسيطة ، يمكننا الرجوع إلى الملف الذي نفتحه. هذا هو المكان الذي تلعب فيه وظيفة "FreeFile" دورًا حيويًا وتعيد عددًا صحيحًا فريدًا.

كيفية استخدام وظيفة FreeFile في Excel VBA؟

يمكنك تنزيل VBA FreeFile Excel Template هنا - VBA FreeFile Excel Template

الآن ، انظر إلى الكود أدناه.

رمز:

 Sub FreeFile_Example1 () مسار خافت كسلسلة باهتة رقم ملف كمسار صحيح = "D: \ Articles \ 2019 \ File 1.txt" FileNumber = FreeFile Open Path for Output As FileNumber Path = "D: \ Articles \ 2019 \ File 2.txt "FileNumber = FreeFile Open Path للإخراج كـ FileNumber End Sub 

اسمحوا لي الآن بفك الشفرة أعلاه لكي تفهمها.

أولاً لقد أعلنت متغيرين.

 مسار خافت كسلسلة ، رقم ملف خافت كعدد صحيح 

ثم قمت بتعيين مسار الملف باسمه.

المسار = "D: \ Articles \ 2019 \ File 1.txt"

ثم بالنسبة للمتغير الآخر ، قمت بتعيين وظيفة FREEFILE.

FileNumber = ملف مجاني

ثم استخدمت العبارة Open لفتح الملف النصي في مسار الملف المذكور أعلاه.

 فتح مسار الإخراج كـ FileNumber

حسنًا ، سأعمل الآن سطرًا برمز سطر بالضغط على المفتاح F8 وأرى قيمة المتغير "رقم الملف".

يعرض رقم الملف على أنه 1. لذلك ، تقوم وظيفة الملف المجاني تلقائيًا بحجز هذا الرقم في الملف الافتتاحي. أثناء تشغيل هذا لم يتم فتح أي ملفات أخرى.

الآن سأستمر في تنفيذ السطر التالي من كود فبا وأرى رقم الملف إذا قفزت إلى السطر التالي.

الآن تقول 2. لذا تحتفظ وظيفة FreeFile بالرقم الصحيح الفريد 2 لملف الفتح الثاني.

تقوم وظيفة FreeFile بإرجاع 1 دائمًا إذا أغلقنا ملف Excel

شيء واحد نحتاج إلى النظر إليه هو أن وظيفة VBA “FreeFile” ترجع دائمًا 1 إذا أغلقنا الملف المفتوح قبل فتح ملف Excel الثاني.

على سبيل المثال ، انظر إلى الكود أدناه.

رمز:

 Sub FreeFile_Example2 () مسار خافت كسلسلة باهتة رقم ملف كمسار صحيح = "D: \ Articles \ 2019 \ File 1.txt" FileNumber = FreeFile Open Path for Output As FileNumber إغلاق FileNumber Path = "D: \ Articles \ 2019 \ File 2 .txt "FileNumber = الملف الحر فتح مسار للإخراج كـ FileNumber أغلق FileNumber End Sub 

الآن سأقوم مرة أخرى بتنفيذ سطر الكود سطرًا بالضغط على المفتاح F8.

تقول 1 كالمعتاد.

الآن سوف أتقدم إلى المستوى التالي.

حتى في المحاولة الثانية تقول 1.

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


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