كيفية حذف ملف باستخدام vba في إكسيل؟

لحذف ملف Excel من مجلد، يمكنك استخدام طريقتين مختلفتين. الطريقة الأولى هي عبارة “Kill” التي تأخذ مسار الملف للإشارة إلى الملف الذي تريد حذفه. الطريقة الثانية هي كائن FileSystemObject الذي له طريقة مقترنة لحذف ملف.

لاستخدام هذه الرموز، انتقل إلى VBE (محرر الأكواد) من علامة تبويب المطور.

حذف ملف باستخدام VBA (وظيفة القتل)

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

 Kill "C:UsersDellDesktopSample Datafile-one.xlsx"
حذف ملف باستخدام وظيفة قتل vba

سيظهر لك هذا الرمز خطأ إذا كان المصنف الذي حددته لحذفه غير موجود.

روابط مفيدة: تشغيل ماكرومسجل الماكرو – محرر Visual Basic – دليل وحدات الماكرو الشخصية

حذف كافة الملفات الموجودة في مجلد باستخدام VBA

وإذا كنت تريد حذف جميع الملفات الموجودة في مجلد ما، فيمكنك استخدام حرف البدل.

 Kill "C:UsersDellDesktopSample Data*.xl*"
حذف كافة الملفات الموجودة في مجلد باستخدام vba

حذف ملف باستخدام FileSystemObject (كائن)

يسمح لك كائن نظام الملفات بالوصول إلى نظام ملفات الكمبيوتر. يمكنك معرفة المزيد من هنا، ولكن الآن دعنا نكتب رمزًا لحذف ملف.

  • أولاً، يجب عليك الإعلان عن المتغيرات التي سيتم استخدامها في التعليمات البرمجية مثل Binder وFileSystemObject.
    delete a file using the file system object
  • بعد ذلك، استخدم وظيفة إنشاء الكائن لإرجاع FileSystemObject عن طريق تعيينه لمتغير FSO.
    create object function
  • بعد ذلك، قم بتعيين المسار للمتغير “myFile” للانتقال إلى الملف الذي تريد حذفه.
    assign the path to the myfile
  • في النهاية، استخدم طريقة “DeleteFile” (انظر هذا) لحذف الملف.
    use the delete file method

الرمز الكامل

 Sub vba_delete_file() Dim FSO Dim myFile As String Set FSO = CreateObject("Scripting.FileSystemObject") myFile = "C:UsersDellDesktopSample Datafile1.xlsx" FSO.DeleteFile myFile, True End Sub

لنفترض أنك بحاجة إلى كتابة بعض التعليمات البرمجية التي يمكنها التحقق من الملف (موجود أم لا) ثم حذفه. هنا هو الرمز الذي تحتاجه.

 Sub vba_delete_file() Dim FSO Dim myFile As String Set FSO = CreateObject("Scripting.FileSystemObject") myFile = "C:UsersDellDesktopSample Datafile1.xlsx" If FSO.FileExists(myFile) Then FSO.DeleteFile myFile, True MsgBox "Deleted" Else MsgBox "There's no workbook with this name." End If End Sub
ما هو فبا

الدروس ذات الصلة

اضف تعليق

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