وظيفة VBA FileCopy | نسخ ملف من دليل إلى آخر

وظيفة Excel VBA FileCopy

File Copy هو وظيفة vba يحمل في ثناياه عوامل تستخدم لنسخ الملف من موقع إلى موقع آخر مذكور. لاستخدام هذه الوظيفة ، نحتاج إلى ذكر مسار الملف الحالي ومسار الملف الوجهة.

حسنًا ، دعونا نلقي نظرة على بناء جملة وظيفة FileCopy.

  • المصدر: هذا ليس سوى المكان الذي نحتاج فيه لنسخ الملف. نحتاج إلى ذكر مسار المجلد المؤهل بالكامل.
  • الوجهة: هذا هو مجلد الوجهة حيث نحتاج إلى لصق الملف المنسوخ.

أمثلة

فيما يلي أمثلة على كيفية نسخ الملفات باستخدام كود VBA.

يمكنك تنزيل قالب VBA لنسخ ملف Excel هنا - قالب VBA لنسخ ملف Excel

مثال 1

لنبدأ بمثال بسيط. لدي ملف باسم "مبيعات أبريل 2019" في المجلد. يوجد أدناه صورة نفس " المصدر ".

من الموقع أعلاه ، أريد نسخ هذا الملف ولصقه في مجلد مختلف. يوجد أدناه صورة نفس " مصدر الوجهة".

حسنًا ، دعنا نكتب الكود الخاص بها.

افتح وظيفة FileCopy داخل الإجراء الفرعي.

رمز:

 ملف فرعي Copy_Example1 ()

نسخة الملف

End Sub

الآن بالنسبة للحجة الأولى ، نحتاج إلى ذكر مسار الملف حيث يوجد تيارنا.

رمز:

 ملف فرعي Copy_Example1 ()

FileCopy “D: \ My Files \ VBA \ April Files

End Sub

بعد ذكر مسار المجلد ، نحتاج إلى ذكر الملف بامتداد الملف أيضًا. لذا اذكر اسم الملف بوضع شرطة مائلة للخلف (\).

رمز:

 Sub FileCopy_Example1 () FileCopy "D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx" ، End Sub 

الآن في الوسيطة الثانية ، اذكر المكان الذي نحتاج إلى لصق الملف المنسوخ فيه.

رمز:

 Sub FileCopy_Example1 () FileCopy "D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx"، "D: \ My Files \ VBA \ Destination Folder \ Sales April 2019.xlsx" End Sub 

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

الآن قم بتشغيل الكود باستخدام مفتاح F5 أو يدويًا ، سيقوم بنسخ الملف من الموقع أدناه إلى موقع الوجهة.

"D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx"

"D: \ My Files \ VBA \ Destination Folder \ Sales April 2019.xlsx"

مثال # 2 - استخدم المتغيرات لتخزين مسار المصدر ومسار الوجهة.

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

للحصول على مثال ، انظر إلى الكود أدناه.

رمز:

 Sub FileCopy_Example2 () Dim SourcePath مثل String Dim DestinationPath As String SourcePath = "D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx" DestinationPath = "D: \ My Files \ VBA \ Destination Folder \ Sales أبريل 2019. xlsx "FileCopy SourcePath ، DestinationPath End Sub 

اسمحوا لي أن أشرح لك الرمز بالتفصيل.

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

 خافت مسار المصدر كسلسلة مسار وجهة باهتة كسلسلة 

ثم بالنسبة للمتغير الأول ، قمت بتعيين مسار المجلد من حيث يجب نسخ الملف واسم الملف مع امتداد الملف الخاص به.

SourcePath = "D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx"

بالنسبة للمتغير الثاني بالمثل ، قمت بتعيين مسار مجلد الوجهة باسم الملف وامتداد Excel.

DestinationPath = "D: \ My Files \ VBA \ Destination Folder \ Sales April 2019.xlsx"

ثم بالنسبة إلى صيغة FileCopy ، قمت بتوفير هذه المتغيرات بدلاً من سلاسل مسار المجلد الطويلة.

FileCopy SourcePath ، DestinationPath

مثل هذا ، يمكننا استخدام المتغيرات لتخزين المسارات واستخدامها بكفاءة.

مثال # 3 - خطأ في وظيفة نسخ الملف

أحيانًا تواجه وظيفة نسخ الملف خطأ "تم رفض الإذن".

سبب حصولنا على هذا الخطأ لأنه عند فتح ملف النسخ وإذا حاولت نسخ الخطأ أعلاه يأتي ، لذلك أغلق الملف دائمًا وقم بتنفيذ الكود.


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