Note: The other languages of the website are Google-translated. Back to English

 كيفية التحقق من وجود مجلد وإن لم يتم إنشاؤه؟

هل سبق لك أن حاولت التحقق من وجود مجلد أم لا من ورقة عمل Excel؟ في هذه المقالة ، سأتحدث عن التحقق مما إذا كان المجلد موجودًا في مسار محدد ، وإذا لم يكن كذلك ، فسيتم إنشاء المجلد تلقائيًا تحت المسار.

تحقق مما إذا كان المجلد موجودًا في مسار ملف معين برمز VBA

قم بإنشاء المجلد إذا لم يكن موجودًا في مسار ملف معين برمز VBA


السهم الأزرق الحق فقاعة تحقق مما إذا كان المجلد موجودًا في مسار ملف معين برمز VBA

قد يساعدك رمز VBA التالي في التحقق من وجود مجلد في مسار ملف معين ، يرجى القيام بذلك على النحو التالي:

1. اضغط باستمرار على ALT + F11 مفاتيح لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

2. انقر إدراج > وحدة، والصق الكود التالي في ملف وحدة نافذة او شباك.

رمز فبا: تحقق من وجود مجلد في مسار ملف معين:

Sub Test_Folder_Exist_With_Dir()
'Updateby Extendoffice
    Dim sFolderPath As String
    sFolderPath = "C:\Users\DT168\Desktop\Test folder"
    If Right(sFolderPath, 1) <> "\" Then
        sFolderPath = sFolderPath & "\"
    End If
    If Dir(sFolderPath, vbDirectory) <> vbNullString Then
        MsgBox "Folder exist", vbInformation, "Kutools for Excel"
    Else
        MsgBox "Folder doesn't exist", vbInformation, "Kutools for Excel"
    End If
End Sub

ملاحظة: في الكود أعلاه ، يجب عليك تغيير مسار المجلد واسمه المجلد C: \ Users \ DT168 \ Desktop \ Test لحاجتك.

3. ثم اضغط F5 مفتاح لتشغيل هذا الرمز ، ستحصل على النتائج التالية:

مجلد doc موجود 1


السهم الأزرق الحق فقاعة قم بإنشاء المجلد إذا لم يكن موجودًا في مسار ملف معين برمز VBA

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

1. اضغط باستمرار على ALT + F11 مفاتيح لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

2. انقر إدراج > وحدة، والصق الكود التالي في ملف وحدة نافذة او شباك.

رمز فبا: أنشئ مجلدًا إذا لم يكن موجودًا في مسار الملف:

Sub MakeMyFolder()
'Updateby Extendoffice
    Dim fdObj As Object
    Application.ScreenUpdating = False
    Set fdObj = CreateObject("Scripting.FileSystemObject")
    If fdObj.FolderExists("C:\Users\DT168\Desktop\Test folder") Then
        MsgBox "Found it.", vbInformation, "Kutools for Excel"
    Else
        fdObj.CreateFolder ("C:\Users\DT168\Desktop\Test folder")
        MsgBox "It has been created.", vbInformation, "Kutools for Excel"
    End If
    Application.ScreenUpdating = True
End Sub

ملاحظة: في الكود أعلاه ، يجب عليك تغيير مسار المجلد واسمه المجلد C: \ Users \ DT168 \ Desktop \ Test لحاجتك.

3. بعد لصق الكود ، واضغط F5 مفتاح تشغيله:

(1.) إذا كان المجلد موجودًا ، فسيظهر مربع موجه كما هو موضح في لقطة الشاشة التالية:

مجلد doc موجود 2

(2.) إذا لم يكن المجلد موجودًا ، فسيتم إنشاؤه تحت المسار المحدد مرة واحدة ، وسيظهر مربع موجه لتذكيرك بإنشاء المجلد ، انظر الصورة:

مجلد doc موجود 3


أفضل أدوات إنتاجية المكتب

Kutools for Excel يحل معظم مشاكلك ويزيد إنتاجيتك بنسبة 80٪

  • إعادة استخدام: أدخل بسرعة الصيغ المعقدة والرسوم البيانية وأي شيء استخدمته من قبل ؛ تشفير الخلايا مع كلمة السر إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني ...
  • سوبر فورميولا بار (بسهولة تحرير أسطر متعددة من النص والصيغة) ؛ تخطيط القراءة (قراءة وتحرير أعداد كبيرة من الخلايا بسهولة) ؛ لصق في النطاق المصفى
  • دمج الخلايا / الصفوف / الأعمدة دون فقدان البيانات ؛ تقسيم محتوى الخلايا ؛ ادمج الصفوف / الأعمدة المكررة... منع تكرار الخلايا؛ قارن النطاقات
  • حدد مكرر أو فريد صفوف حدد صفوف فارغة (جميع الخلايا فارغة) ؛ البحث الفائق والبحث الغامض في العديد من المصنفات. تحديد عشوائي ...
  • نسخة طبق الأصل خلايا متعددة بدون تغيير مرجع الصيغة ؛ إنشاء المراجع تلقائيًا إلى أوراق متعددة أدخل الرموز النقطية، مربعات الاختيار والمزيد ...
  • استخراج النص، إضافة نص ، إزالة حسب الموضع ، إزالة الفضاء؛ إنشاء وطباعة المجاميع الفرعية لترحيل الصفحات ؛ التحويل بين محتوى الخلايا والتعليقات
  • سوبر تصفية (حفظ وتطبيق مخططات التصفية على أوراق أخرى) ؛ فرز متقدم حسب الشهر / الأسبوع / اليوم ، التكرار والمزيد ؛ مرشح خاص بواسطة bold، italic ...
  • اجمع بين المصنفات وأوراق العمل؛ دمج الجداول على أساس الأعمدة الرئيسية ؛ تقسيم البيانات إلى أوراق متعددة; تحويل دفعة xls و xlsx و PDF
  • أكثر من 300 ميزة قوية. يدعم Office / Excel 2007-2021 و 365. يدعم جميع اللغات. سهولة النشر في مؤسستك أو مؤسستك. الميزات الكاملة نسخة تجريبية مجانية لمدة 30 يومًا. ضمان استرداد الأموال لمدة 60 يومًا.
علامة تبويب kte 201905

يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
فرز التعليقات حسب
التعليقات (12)
لا يوجد تقييم. كن أول من يقيم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
إنه يعكس خطأ @ fdObj.CreateFolder ("C: \ Users \ DT168 \ Desktop \ Test folder")
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا ألوك
تعمل الرموز المذكورة أعلاه بشكل جيد في مصنف Excel الخاص بي ، المسار "C: \ Users \ DT168 \ Desktop \ Test folder" هو مسار جهاز الكمبيوتر الخاص بي ، يجب عليك تغيير مسار المجلد إلى المسار الخاص بك.
شكرا!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مقال عظيم. فقط ما كنت أبحث عنه :)
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هذا مفيد حقًا! شكرًا!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرا يا رجل ، عمل رائع
تم تصغير هذا التعليق بواسطة المشرف على الموقع
سوبر بفضل!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أنا أقوم بتشغيل هذا الماكرو ، ولكن في خطوة إنشاء المجلد ، تنخفض العملية.

هل يمكنك مساعدتي؟؟؟؟


'Comprobar si la carpeta موجود

ديم روتا كسلسلة
ديم ليبرو كسلسلة

م = ActiveWorkbook.Name

ruta = Application.Workbooks (M) .Sheets ("Diccionario"). النطاق ("B5"). القيمة

إذا كان صحيحًا (ruta، 1) <> "\" ثم
ruta = روتا & "\"
إنهاء حالة
إذا كان Dir (ruta، vbDirectory) <> vbNullString ثم
MsgBox "المجلد موجود ، يرجى المتابعة"
آخر
MsgBox "المجلد غير موجود"
إنهاء حالة

'Crea la carpeta que necesitas

خافت fdObj ككائن
مجلد خافت كسلسلة

folder = Application.Workbooks (M) .Sheets ("Dicionario"). Range ("B5"). القيمة (هنا حيث تقع العملية)

Application.ScreenUpdating = خطأ
اضبط fdObj = CreateObject ("Scripting.FileSystemObject")
إذا كان fdObj.FolderExists (مجلد) ثم
MsgBox "وجدته ، من فضلك تابع."
آخر
fdObj.CreateFolder (مجلد)
MsgBox "لقد تم إنشاؤه."
إنهاء حالة
Application.ScreenUpdating = ترو
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، هذا يعمل بشكل رائع ، هل ستكون هناك أي فرصة أن يكون اسم المجلد المستخدم عند التحقق مما إذا كان المجلد موجودًا بالفعل مشتقًا من خلية داخل جدول البيانات ، على سبيل المثال A2 ؟؟

أستخدم جدول بيانات نموذجيًا يتم تحديثه تلقائيًا من مصدر آخر ، لذلك تتغير الخلية A2 باستمرار مما يتطلب إنشاء مجلدات جديدة بنفس الاسم.

أيضًا ، هل يمكن أن يكون هناك أمر من هذا القبيل يقوم بما ورد أعلاه ولكنه يحفظ أيضًا جدول البيانات النشط في المجلد الذي تم العثور عليه / الذي تم إنشاؤه؟

أي أمل؟ TIA
تم تصغير هذا التعليق بواسطة المشرف على الموقع
ممتاز ، أنا sirvió mucho el Objeto. Uso para carpetas como archivos. موتشا جراسياس
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كيفية إنشاء مجلد في سطح المكتب باستخدام vba كلما تم فتح كتاب Excel ، إذا كان موجودًا ، تجاهل.
رسالة في حالة إنشاء مجلد جديد ، صامت إذا كان المجلد موجودًا.


مصنف فرعي خاص_ فتح ()

Dim cOb كمتغير
خافت اسم المجلد كسلسلة ، المجلد موجود كسلسلة
FolderName = "C: \ Users \ AAAAA \ Desktop \ A New Folder" "----> غيّر اسم المجلد ليناسب. قم بتغيير AAAAA وفقًا لمتطلباتك.
FolderExists = Dir (FolderName، vbDirectory)

Application.ScreenUpdating = خطأ

إذا كان FolderExists = vbNullString ثم
MsgBox "مجلد سطح المكتب غير موجود. إنشاء مجلد جديد الآن." ، vbExclamation ، "INFORMATION"
cOb = CreateObject ("wscript.shell"). specialfolders ("Desktop") & "\" & "A New Folder" '---> غيّر اسم المجلد ليناسب.
MkDir cOb
آخر: خروج Sub
إنهاء حالة

Application.ScreenUpdating = ترو

نهاية الفرعية

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

مصنف فرعي خاص_ فتح ()

Dim cOb كمتغير
خافت اسم المجلد كسلسلة ، المجلد موجود كسلسلة
FolderName = "C: \ Users \" & البيئة ("اسم المستخدم") & "\ سطح المكتب \ملفي\" "---> تغيير اسم المجلد ليناسب.
FolderExists = Dir (FolderName، vbDirectory)

Application.ScreenUpdating = خطأ

إذا كان FolderExists = vbNullString ثم
MsgBox "مجلد سطح المكتب غير موجود. إنشاء مجلد جديد الآن." ، vbExclamation ، "INFORMATION"
cOb = CreateObject ("wscript.shell"). specialfolders ("Desktop") & "\" & "ملفي" "---> تغيير اسم المجلد ليناسب.
MkDir cOb
آخر: خروج Sub
إنهاء حالة

Application.ScreenUpdating = ترو

نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مساء الخير،

غير conosco il مقابل. موقع الويب الخاص بك في حالة البحث عن الصفحة الرئيسية.
Ho letto quanto scritto sopra e se è الممكن avrei bisogno del vs. aiuto.
من المحتمل أن يكون الأمر كذلك في شكل متغير مع مضيف واجهة طرف من della stessa lan verifiche se è aperto un file exel dal nome variabile ، e nel caso sia aperto chiuda il file e cancella tutto to contenuto della cartella compreso il file stesso.
بروفو a spiegarmi meglio:
nel percorso: \\ host01 \ Users \ utente \ Desktop \ liste \ Nome_Cognome_Gennaio \ Operatore_16_Gennaio.xlsm
تقديم ملف Excel dal nome: Operatore_16_Gennaio.xlsm

Il percorso non semper è lo stesso così تعال إلى nome del file excel. Infatti il ​​percorso cambia solo nel Nome_Cognome ، es:: \\ host01 \ Users \ utente \ Desktop \ liste \ Tizio_Caio_Gennaio \ Operatore_16_Gennaio.xlsm) mentre nel file cambia solo il numero dell'operatore (Es:: \\ host01 \ Users \ utente \ سطح المكتب \ liste \ Sempronio_zeta_Gennaio \ Operatore_15_Gennaio.xlsm.)

هل من الممكن أن يكون هناك شرح كمي لسوبرا؟

Ringrazio المتوقع
لا توجد تعليقات منشورة هنا حتى الآن
اترك تعليقاتك
النشر كضيف
×
قيم المنشور:
0   الشخصيات
المواقع المقترحة

تواصل معنا

حقوق التأليف والنشر © 2009 - شبكة الاتصالات العالمية.extendoffice.com. | كل الحقوق محفوظة. مشغل بواسطة ExtendOffice. | | خريطة الموقع
Microsoft وشعار Office هما علامتان تجاريتان أو علامتان تجاريتان مسجلتان لشركة Microsoft Corporation في الولايات المتحدة و / أو دول أخرى.
محمي بواسطة Sectigo SSL