حوار ملف VBA | كيفية فتح FilesDialog Box باستخدام كود VBA؟

ملف Excel VBA

في VBA fieldialog هي خاصية تُستخدم لتمثيل مثيلات مختلفة ، في حقل الملفات توجد أربعة أنواع مختلفة من الثوابت التي تُعرف باسم msofiledialogfilepicker والتي تُستخدم لتحديد ملف من مسار معين ، والثاني هو msofiledialogfolderpicker الذي يوحي الاسم باستخدامه للاختيار المجلد والثالث هو msofiledialog مفتوح لفتح ملف والآخر هو msofiledialogsaveas والذي يستخدم لحفظ ملف كملف جديد.

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

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

كيف يعمل خيار VBA FileDialog؟

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

يمكنك تنزيل نموذج VBA FileDialog Excel هذا هنا - VBA FileDialog Excel Template

"FileDialog" هو كائن في VBA. لاستخدام هذا الخيار أولاً ، نحتاج إلى تحديد المتغير كـ FileDialog.

بمجرد إعلان المتغير على أنه "FileDialog" يصبح متغير كائن. لبدء استخدام هذا ، نحتاج إلى ضبط الكائن باستخدام Application.FileDialog.

كما نرى في الصورة أعلاه ، يحتوي FileDialog على أربعة خيارات معه.

  • msoFileDialogFilePicker: هذا الخيار يفتح نافذة منتقي الملفات أمام المستخدم لتحديد الملف المطلوب حسب رغبته.
  • msoFileDialogFolderPicker: يفتح هذا الخيار مربع الحوار أو النافذة أمام المستخدم لتحديد المجلد.
  • msoFileDialogOpen: سيسمح هذا للمستخدم بفتح الملف المحدد من المجلد.
  • msoFileDialogSaveAs: سيسمح هذا للمستخدم بحفظ الملف كنسخة مختلفة.

اعتبارًا من الآن ، قمت بتحديد خيار msoFileDialogFilePicker.

نحتاج الآن إلى تصميم مربع الحوار الذي يظهر أمامنا.

باستخدام البيان يمكننا تصميم مربع الحوار.

داخل مع العبارة ضع نقطة لرؤية قائمة IntelliSense لخصائص وطرق خيار FileDialog.

لرؤية ملفات Excel فقط عند فتح مربع حوار الملف ، نحتاج أولاً إلى إزالة أي من المرشحات المطبقة.

نحتاج الآن إلى تطبيق مرشح جديد مثل "ملفات Excel" مع امتداد أحرف البدل لملفات excel.

لنقم الآن بتغيير عنوان مربع حوار الملف.

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

لدينا خياران هنا. إذا تم تحديد TRUE ، فسيسمح للمستخدم بتحديد ملفات متعددة إذا كان المستخدم FALSE يمكنه تحديد ملف واحد فقط في كل مرة.

شيء آخر يمكننا تصميمه باستخدام FileDialog هو أنه يمكننا بالفعل الإصرار على ما يجب أن يكون المجلد الافتراضي عند ظهور مربع حوار الملف. لهذا استخدم اسم الملف الأولي.

لهذا ، نحتاج إلى ذكر المجلد الافتراضي لفتح مسار العنوان.

الآن نحتاج أخيرًا إلى تطبيق طريقة "إظهار" لرؤية مربع حوار الملف.

رمز:

Sub DoEvents_Example1 () Dim Myfile As FileDialog Set Myfile = Application.FileDialog (msoFileDialogFilePicker) مع Myfile .Filters.Clear .Filters.Add "Excel Files"، "* .xlsx؟"، 1 .Title = "اختر ملف Excel الخاص بك !! ! .AllowMultiSelect = False .InitialFileName = "D: \ Excel Files". إظهار النهاية بـ End Sub

الآن قم بتشغيل كود فبا لرؤية النتيجة.

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

الآن يمكننا تحديد أي مجلد فرعي وتحديد ملفات Excel.

انظر إلى الصورة أعلاه لأننا طبقنا معامل التصفية كـ "ملفات Excel" فقط.

سيؤدي هذا فقط إلى تحديد الملف من المجلد المذكور. لتخزين المسار الكامل ، نحتاج إلى إعلان متغير آخر كسلسلة.

الآن داخل بيان with ، حدد "SelectedItems". قم بتعيين مسار مجلد العناصر المحددة إلى المتغير المحدد حديثًا.

الآن أخيرًا أظهر مسار المجلد المحدد في مربع رسالة VBA.

الآن سأقوم بتشغيل البرنامج لرؤية مربع الحوار.

لقد قمت الآن بتحديد اسم الملف كـ “1. Charts.xlsx "في المجلد الفرعي" الرسوم البيانية ". إذا قمت بالنقر فوق "موافق" ، يمكننا رؤية مسار المجلد الكامل في مربع الرسالة.

لذلك ، مثل هذا ، يمكننا استخدام خيار FileDialog لتحديد الملفات من المجلد في Excel. استخدم الكود أدناه لتحديد الملفات.

رمز:

Sub DoEvents_Example1 () Dim Myfile As FileDialog Set Myfile = Application.FileDialog (msoFileDialogFilePicker) Dim FileAddress As String With Myfile .Filters.Clear .Filters.Add "Excel Files"، "* .xlsx؟"، 1 .Title = "اختر Your Your ملف اكسل!!!" .AllowMultiSelect = False .InitialFileName = "D: \ Excel Files". Show FileAddress = .SelectedItems (1) End With MsgBox FileAddress End Sub

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