كيفية الحصول على اسم المصنف باستخدام 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

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *