انتقل إلى المحتوى الرئيسي

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

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

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


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

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

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

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

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

اسم استخراج الوثيقة1


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

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

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 هذا ، سيتم إتلاف البيانات الأصلية ، لذا يجب نسخ واحدة قبل تطبيق هذا الرمز.

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

الميزات الشعبية: البحث عن التكرارات أو تمييزها أو تحديدها   |  حذف الصفوف الفارغة   |  دمج الأعمدة أو الخلايا دون فقدان البيانات   |   جولة بدون صيغة 
سوبر بحث: معايير متعددة VLookup    VLookup ذات القيمة المتعددة  |   VLookup عبر أوراق متعددة   |   بحث غامض ....
قائمة منسدلة متقدمة: إنشاء القائمة المنسدلة بسرعة   |  القائمة المنسدلة التابعة   |  قائمة منسدلة متعددة التحديد ....
مدير العمود: إضافة عدد محدد من الأعمدة  |  نقل الأعمدة  |  تبديل حالة رؤية الأعمدة المخفية  |  مقارنة النطاقات والأعمدة 
الميزات المميزة: التركيز على الشبكة   |  عرض تصميم   |   شريط الفورمولا الكبير    مدير المصنفات والأوراق   |  مكتبة الموارد (النص السيارات)   |  منتقي التاريخ   |  اجمع أوراق العمل   |  تشفير/فك تشفير الخلايا    إرسال رسائل البريد الإلكتروني عن طريق القائمة   |  سوبر تصفية   |   مرشح خاص (تصفية غامق / مائل / يتوسطه خط ...) ...
أفضل 15 مجموعة أدوات12 نص الأدوات (إضافة نص, إزالة الأحرف، ...)   |   +50 رسم الأنواع (مخطط جانت، ...)   |   40+ عملي الصيغ (احسب العمر على أساس تاريخ الميلاد، ...)   |   19 إدخال الأدوات (أدخل رمز الاستجابة السريعة, إدراج صورة من المسار، ...)   |   12 تحويل الأدوات (أرقام إلى كلمات, نتيجة تحويل عملة، ...)   |   7 دمج وتقسيم الأدوات (الجمع بين الصفوف المتقدمة, تقسيم الخلايا، ...)   |   ... و اكثر

عزز مهاراتك في Excel باستخدام Kutools for Excel، واختبر كفاءة لم يسبق لها مثيل. يقدم Kutools for Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية وتوفير الوقت.  انقر هنا للحصول على الميزة التي تحتاجها أكثر...

علامة تبويب kte 201905


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

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Very useful function. Is there a way to modify the script so it finds the filename if the path has either \ or / slashes?

I have a spreadsheet with various hyperlinks where the underlying paths are either \ or / (back slash or forward slash) separates - I think its because some of the links to files were done just as bookmarks in Word originally, or to files on an internal doc server. Or maybe its because some path links are made with absolute vs relative path links?

eg:

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


When I ran the getfilename function, it got all the filenames that were in paths with \ between directories or folders, but the links with / slashes were returned as is.
I altered & added a second function that was similar but replaced the "\" in line 4 with "/" and called it forwardslashgetfilename and run it in a separate column after I run the first function.

Running one function after another is not difficult, but I was curious if you can expand the code in splitList operation in line 4 to include both "\" or "/". I'm no VBA programmer but I tried splitList = VBA.Split(FullPath, "\" or "/") and it didn't work.

Thoughts? I'm assuming its some simple syntax - I'm just clueless at this point... but I will start poking around the interwebs...

Tks!
This comment was minimized by the moderator on the site
The formula raises a #VALUE! error if the source cell has only a filename to begin with.. Embedding the entire formula in an IFERROR function solves this problem, e.g., =IFERROR(<orig formula>,A1)
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations