كيفية الحصول على اسم المصنف باستخدام vba (مع أمثلة)
يمكنك استخدام الطرق التالية في VBA للحصول على اسم مصنف Excel:
الطريقة الأولى: الحصول على اسم المصنف النشط
Function GetWorkbookName() As String GetWorkbookName = ActiveWorkbook.Name End Function
ستعيد هذه الوظيفة اسم المصنف النشط مثل my_vba_workbook.xlsm .
الطريقة الثانية: الحصول على اسم المصنف النشط بدون ملحق
Function GetWorkbookName() As String GetWorkbookName = Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, " . ") - 1) End Function
ستعيد هذه الوظيفة اسم المصنف النشط بدون الامتداد مثل my_vba_workbook .
توضح الأمثلة التالية كيفية استخدام كل أسلوب عمليًا مع مصنف Excel النشط حاليًا والذي يسمى my_vba_workbook.xlsm .
مثال 1: الحصول على اسم المصنف النشط
يمكننا إنشاء الوظيفة التالية للحصول على اسم المصنف النشط:
Function GetWorkbookName() As String GetWorkbookName = ActiveWorkbook.Name End Function
يمكننا بعد ذلك كتابة الصيغة التالية في الخلية A1 للحصول على اسم المصنف النشط:
=GetWorkbookName()
توضح لقطة الشاشة التالية كيفية استخدام هذه الصيغة عمليًا:
يمكننا أن نرى أن الصيغة تُرجع my_vba_workbook.xlsm ، وهو اسم المصنف النشط حاليًا الذي نستخدمه.
ملاحظة : يمثل الامتداد .xlsm مصنف Excel ممكّنًا بماكرو.
المثال 2: الحصول على اسم المصنف النشط بدون الامتداد
يمكننا إنشاء الوظيفة التالية للحصول على اسم المصنف النشط بدون الامتداد:
Function GetWorkbookName() As String GetWorkbookName = Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, " . ") - 1) End Function
يمكننا بعد ذلك كتابة الصيغة التالية في الخلية A1 للحصول على اسم المصنف النشط:
=GetWorkbookName()
توضح لقطة الشاشة التالية كيفية استخدام هذه الصيغة عمليًا:
يمكننا أن نرى أن الصيغة تُرجع my_vba_workbook ، وهو اسم المصنف النشط حاليًا بدون الامتداد .xlsm .
ملاحظة : باستخدام الدالتين Left و Instr ، يمكننا استخراج جميع الأحرف من اسم المصنف الموجود على يسار النقطة.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:
كيفية إنشاء مجلدات باستخدام VBA
كيفية حذف المجلدات باستخدام VBA
كيفية إعادة تسمية ملف باستخدام VBA
كيفية التحقق من وجود الملف باستخدام VBA