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

كيفية استخراج اسم الملف بسرعة من المسار الكامل في إكسيل؟

لنفترض أن لديك ورقة عمل تحتوي على قائمة بمسارات الملفات ، فأنت الآن ترغب في استخراج اسم الملف فقط (الجزء الأيمن من الشرطة المائلة العكسية النهائية) من كل مسار كما هو موضح في لقطات الشاشة التالية. هل هناك حيل سريعة للتعامل مع هذه المهمة؟

استخراج اسم الملف من المسار الكامل مع الصيغة في Excel
استخراج اسم الملف من المسار الكامل باستخدام الوظيفة المعرفة من قبل المستخدم
استخراج اسم الملف من المسار الكامل مع كود فبا


استخراج اسم الملف من المسار الكامل مع الصيغة في Excel

في Excel ، يمكنك استخدام الصيغة أدناه لاستخراج اسم الملف فقط من المسار الكامل بسرعة.

حدد خلية فارغة ، أدخل الصيغة أدناه فيها ثم اضغط على أدخل الرئيسية.

=MID(A1,FIND("*",SUBSTITUTE(A1,"\","*",LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))+1,LEN(A1))

نصائح: A1 هي الخلية التي تريد استخراج اسم الملف منها) ، واضغط على زر Enter ، ثم اسحب مقبض التعبئة لملء النطاق الذي تريده. بعد ذلك ، يتم استخراج اسم الملف من كل خلية.

doc extract name1


استخراج اسم الملف من المسار الكامل باستخدام الوظيفة المعرفة من قبل المستخدم

باستخدام الوظيفة المحددة بواسطة المستخدم التالية ، يمكنك الحصول على اسم الملف بسهولة وبسرعة.

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

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

Function FunctionGetFileName(FullPath As String) As String
'Update 20140210
Dim splitList As Variant
splitList = VBA.Split(FullPath, "\")
FunctionGetFileName = splitList(UBound(splitList, 1))
End Function

3. اضغط على قديم + Q مفاتيح لإغلاق ميكروسوفت فيسوال باسيك للتطبيقات نافذة والعودة إلى ورقة العمل. في خلية فارغة ، B1 على سبيل المثال ، أدخل الصيغة أدناه فيها واضغط على أدخل الرئيسية.

=FunctionGetFileName(A1)

doc-extract-filenames1

ثم حدد الخلية B1 مرة أخرى ، واسحب مقبض التعبئة إلى النطاق الذي تريد تطبيق هذه الصيغة ، وتم استخراج جميع أسماء الملفات من المسارات الكاملة على النحو التالي:

doc-extract-filenames1


استخراج اسم الملف من المسار الكامل مع كود فبا

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

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

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

Sub GetFileName()
'Update 20140210
Dim Rng As Range
Dim WorkRng As Range
Dim splitList As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    splitList = VBA.Split(Rng.Value, "\")
    Rng.Value = splitList(UBound(splitList, 1))
Next
End Sub

3. ثم اضغط F5 مفتاح لتشغيل هذا الرمز ، وحدد النطاق الذي تريد استخراج اسم الملف منه ، انظر لقطة الشاشة:

doc-extract-filenames1

4. ثم انقر فوق OK، تم استخراج أسماء الملفات من التحديد على النحو التالي:

ملاحظة: باستخدام رمز VBA هذا ، سيتم إتلاف البيانات الأصلية ، لذا يجب نسخ واحدة قبل تطبيق هذا الرمز.


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

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٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
فرز التعليقات حسب
التعليقات (2)
لا يوجد تقييم. كن أول من يقيم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
ترفع الصيغة الخطأ #VALUE! خطأ إذا كانت الخلية المصدر تحتوي على اسم ملف فقط لتبدأ به .. يؤدي تضمين الصيغة بأكملها في دالة IFERROR إلى حل هذه المشكلة ، على سبيل المثال ، = IFERROR ( ، A1)
تم تصغير هذا التعليق بواسطة المشرف على الموقع
وظيفة مفيدة جدا. هل توجد طريقة لتعديل البرنامج النصي بحيث يبحث عن اسم الملف إذا كان المسار يحتوي إما على \ أو / مائلة؟

لدي جدول بيانات به ارتباطات تشعبية متنوعة حيث تكون المسارات الأساسية إما \ أو / (شرطة مائلة للخلف أو شرطة مائلة للأمام) تفصل - أعتقد أن ذلك يرجع إلى أن بعض الروابط إلى الملفات تم إجراؤها كإشارات مرجعية في Word في الأصل ، أو إلى ملفات على صفحة داخلية خادم doc. أو ربما لأن بعض ارتباطات المسار مصنوعة من ارتباطات مسار مطلقة مقابل ارتباطات نسبية؟

على سبيل المثال:

../../../../Documents/2ndQuarter/2019/standardcost_widget12345.pdf
or
\ fileserver \ factory23 \ Operations \ Parts_Mgt \ Documents \ 2ndQuarter \ 2019 \ standardcost_widget12345.pdf


عندما قمت بتشغيل وظيفة getfilename ، حصلت على جميع أسماء الملفات التي كانت في مسارات تحتوي على \ بين المجلدات أو المجلدات ، ولكن تم إرجاع الروابط التي تحتوي على / مائلة كما هي.
لقد غيرت وأضفت وظيفة ثانية كانت متشابهة ولكنها استبدلت "\" في السطر 4 بـ "/" وسميتها forwardlashgetfilename وقمت بتشغيلها في عمود منفصل بعد تشغيل الوظيفة الأولى.

تشغيل وظيفة تلو الأخرى ليس بالأمر الصعب ، لكنني كنت أشعر بالفضول إذا كان بإمكانك توسيع الشفرة في عملية SplitList في السطر 4 لتشمل كلاً من "\" أو "/". أنا لست مبرمجًا لـ VBA لكنني حاولت splitList = VBA.Split (FullPath ، "\" أو "/") ولم ينجح الأمر.

أفكار؟ أفترض أن الأمر يتعلق ببعض النحو البسيط - فأنا جاهل في هذه المرحلة ... لكنني سأبدأ في البحث عن الشبكات الداخلية ...

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

تواصل معنا

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