كيفية فتح ملفات Excel باستخدام VBA (أمثلة)
باستخدام VBA في Excel، يمكنك بسهولة فتح ملف Excel واحد أو أكثر من خلال تحديد موقعها.
يصبح هذا ممكنًا من خلال طريقة Workbooks.Open، التي تأخذ موقع الملف كحجة وتفتح ملف Excel هذا.
يمكنك القيام بالكثير
باستخدام طريقة Workbooks.Open، مثل فتح جميع الملفات في مجلد معين، وفتح
الملفات للقراءة فقط، وفتح الملفات ثم حفظها باسم مختلف، وما إلى ذلك.
في هذا البرنامج التعليمي، سأوضح لك كيفية استخدام VBA لفتح ملفات Excel وجميع الأشياء المذهلة التي يمكنك القيام بها باستخدامها.
- يغطي هذا المقال التعليمي:
- طريقة Workbooks.Open
- فتح المصنف عن طريق تحديد مسار الملف
- فتح ملفات Excel متعددة معًا
- فتح جميع مصنفات Excel في مجلد
- فتح ملفات Excel بناءً على الاسم
- فتح مصنف Excel محمي بكلمة مرور
- فتح ملف Excel عن طريق عرض مربع الحوار "فتح"
طريقة Workbooks.Open
في Excel VBA، يمكنك استخدام طريقة Workbooks.Open لفتح ملف Excel، حيث تحتاج إلى تحديد مسار ملف مصنف Excel الذي تريد فتحه.
فيما يلي بناء جملة طريقة Workbooks.Open
expression.Open
(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword,
IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter,
AddToMru, Local, CorruptLoad(
في حين أن طريقة Workbooks.Open يمكنها استخدام 15 وسيطة، إلا أننا في معظم
الحالات نحتاج إلى استخدام اثنين أو ثلاثة منها فقط.
وسأعرض لك أمثلة توضح لك كيفية استخدام هذه الوسائط.
فتح المصنف من خلال تحديد مسار الملف
لنلقِ نظرة أولاً على
كيفية فتح ملف Excel حيث تعرف مسار الملف بالكامل.
فيما يلي كود VBA الذي سيفتح ملف Excel
باسم Example.xlsx في المجلد المسمى Project على نظامي:
()Sub OpenWorkbook
Workbooks.Open
("C:\Users\moul\OneDrive\Desktop\Project\Example.xlsx")
End Sub
لاحظ أن جزء ملف Excel يجب أن يكون بين علامتي اقتباس مزدوجتين،
ويجب عليك تحديد مسار الملف بالكامل بما في ذلك اسم الملف والامتداد.
في حالة عدم تمكن Excel من العثور على الملف في الموقع الذي حددته، فسيظهر لك خطأ كما هو موضح أدناه.
فتح ملفات Excel متعددة معًا
إذا كنت تريد فتح ملفات Excel متعددة باستخدام برنامج فرعي واحد، فيمكنك القيام بذلك أيضًا (باستخدام طرق Workbooks.Open متعددة مع مسارات الملفات)
أدناه لدي كود VBA من شأنه فتح ثلاثة ملفات Excel، حيث أحتاج إلى تحديد المسار لكل ملف في
طريقة Workbooks.Open منفصلة.
()Sub OpenMulitpleWorkbook
Workbooks.Open
("C:\Users\moul\OneDrive\Desktop\Project\Example1.xlsx")
Workbooks.Open
("C:\Users\moul\OneDrive\Desktop\Project\Example2.xlsx") Workbooks.Open
("C:\Users\moul\OneDrive\Desktop\Project\Example3.xlsx")
End
Sub
فتح جميع مصنفات Excel في مجلد
إذا كان لديك ملفات Excel متعددة في مجلد، وتريد فتح جميع الملفات في هذا المجلد دفعة واحدة، فيمكنك القيام بذلك بسهولة باستخدام طريقة Workbooks.Open مع حلقة Do While البسيطة.
يوجد أدناه كود قمت
بتحديد مسار المجلد فيه، وعندما يتم تنفيذ هذا الكود، فإنه يمر عبر كل ملف Excel في المجلد ويفتحه.
()Sub OpenFilesFromFolder
Dim wb As Workbook Dim
FolderPath As String Dim FilePath As String FolderPath =
"C:\Users\moul\OneDrive\Desktop\Project\" FilePath = Dir(FolderPath
& "*.xls*") Do While FilePath <> "" Set wb =
Workbooks.Open(FolderPath & FilePath) FilePath = Dir Loop
End Sub
فتح ملفات Excel استنادًا إلى الاسم
إذا كنت تريد فقط فتح
ملفات Excel محددة في مجلد استنادًا إلى اسمه، فيمكنك
تعديل كود VBA أعلاه للقيام بذلك.
يوجد أدناه كود VBA حيث يفتح فقط ملفات Excel
الموجودة في المجلدات المحددة التي تحتوي على كلمة "Sales"
في اسم ملف Excel.
()Sub OpenFilesFromFolder
Dim wb As Workbook
Dim FolderPath As String
Dim FilePath As String
FolderPath =
"C:\Users\moul\OneDrive\Desktop\Project\"
FilePath = Dir(FolderPath &
"*Sales*" & ".xls*")
Do While FilePath <> ""
Set wb = Workbooks.Open(FolderPath
& FilePath)
FilePath = Dir
Loop
End Sub
في الكود أعلاه، استخدمت Dir(FolderPath & “*Sales*” & “.xls*”) كمسار ملف، حيث يتم وضع كلمة Sales بين علامات النجمة (*).
وهذا يضمن فتح الملفات التي تحتوي على كلمة "Sales" في الاسم فقط، وتجاهل بقية الملفات.
فتح مصنف Excel محمي بكلمة مرور
يمكنك أيضًا فتح مصنفات محمية بكلمة مرور من خلال تحديد كلمة المرور في كود VBA.
أدناه لدي كود VBA من شأنه فتح ملف Excel
محمي بكلمة مرور، حيث تكون كلمة المرور Excel123
()Sub OpenExcelFile
Workbooks.Open
"C:\Users\moul\OneDrive\Desktop\Project\Example.xlsx", , ,
Password:="Excel123"
End Sub
فتح ملف Excel من خلال إظهار مربع الحوار "فتح"
في الأمثلة التي
تناولتها حتى الآن، قمت بتحديد اسم الملف أو مسار الملفات التي يجب فتحها في كود VBA نفسه.
ومع ذلك، يمكنك استخدام VBA لفتح مربع الحوار "فتح الملف"، حيث يمكن للمستخدم الانتقال إلى الملف وتحديده لفتحه.
يوجد أدناه كود VBA الذي سيعرض مربع الحوار "فتح"،
حيث يمكن للمستخدم تحديد الملف وفتحه.
()Sub OpenFileDialogBox
On Error Resume Next
Dim FilePath As String
FilePath = Application.GetOpenFilename()
Workbooks.Open (FilePath)
End Sub
لقد استخدمت On Error Resume Next في حالة قرر المستخدم إغلاق مربع الحوار "فتح" دون تحديد أي ملف. إذا لم يتم استخدام هذه العبارة، فسوف تظهر رسالة خطأ.
في هذا المقال التعليمي القصير، أوضحت لك طريقتين مختلفتين يمكنك استخدامهما لفتح المصنفات باستخدام VBA في Excel.
وبينما قد لا تستخدم
هذه الرموز لفتح ملف Excel ببساطة، فقد يكون المفهوم مفيدًا للغاية عند
العمل على مشاريع VBA أكبر حيث تحتاج إلى فتح ملفات Excel كجزء من التعليمات البرمجية