Μετάβαση στο κύριο περιεχόμενο

Πώς να εξαγάγετε γρήγορα το όνομα αρχείου από την πλήρη διαδρομή στο Excel;

Ας υποθέσουμε ότι έχετε ένα φύλλο εργασίας που περιέχει μια λίστα διαδρομών αρχείων, τώρα θα θέλατε να εξαγάγετε μόνο το όνομα αρχείου (το δεξί μέρος της τελικής ανάστροφης κάθετης) από κάθε διαδρομή όπως εμφανίζονται τα ακόλουθα στιγμιότυπα οθόνης. Υπάρχουν γρήγορα κόλπα για την αντιμετώπιση αυτής της εργασίας;

Εξαγάγετε το όνομα αρχείου από την πλήρη διαδρομή με τον τύπο στο Excel
Εξαγάγετε το όνομα αρχείου από την πλήρη διαδρομή με τη λειτουργία που καθορίζεται από το χρήστη
Εξαγάγετε το όνομα αρχείου από την πλήρη διαδρομή με τον κωδικό VBA


Εξαγάγετε το όνομα αρχείου από την πλήρη διαδρομή με τον τύπο στο Excel

Στο Excel, μπορείτε να χρησιμοποιήσετε τον παρακάτω τύπο για να εξαγάγετε γρήγορα μόνο το όνομα αρχείου από την πλήρη διαδρομή.

Επιλέξτε ένα κενό κελί, εισαγάγετε τον παρακάτω τύπο σε αυτό και μετά πατήστε το εισάγετε κλειδί.

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

Συμβουλές: Το A1 είναι το κελί από το οποίο θέλετε να εξαγάγετε το όνομα αρχείου) και πατήστε το πλήκτρο Enter και μετά σύρετε τη λαβή πλήρωσης για να συμπληρώσετε το εύρος που θέλετε. Μετά από αυτό, το όνομα αρχείου εξάγεται από κάθε κελί.

όνομα αποσπάσματος doc1


Εξαγάγετε το όνομα αρχείου από την πλήρη διαδρομή με τη λειτουργία που καθορίζεται από το χρήστη

Με την ακόλουθη λειτουργία που καθορίζεται από το χρήστη, μπορείτε να αποκτήσετε το όνομα αρχείου εύκολα και γρήγορα.

1. Κρατήστε πατημένο το ALT + F11 για να ανοίξετε το Παράθυρο Microsoft Visual Basic for Applications.

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 πλήκτρα για να κλείσετε το Microsoft Visual Basic για εφαρμογές παράθυρο και επιστρέψτε στο φύλλο εργασίας. Σε ένα κενό κελί, για παράδειγμα, B1, εισαγάγετε τον παρακάτω τύπο και πατήστε το εισάγετε κλειδί.

=FunctionGetFileName(A1)

doc-extract-filenames1

Στη συνέχεια, επιλέξτε ξανά το κελί B1, σύρετε τη λαβή πλήρωσης στο εύρος που θέλετε να εφαρμόσετε αυτόν τον τύπο και όλα τα ονόματα αρχείων έχουν εξαχθεί από τις πλήρεις διαδρομές ως εξής:

doc-extract-filenames1


Εξαγάγετε το όνομα αρχείου από την πλήρη διαδρομή με τον κωδικό VBA

Εκτός από τη λειτουργία που ορίζεται από το χρήστη, ένας κωδικός VBA μπορεί επίσης να σας βοηθήσει να εξαγάγετε τα ονόματα αρχείων. Κάντε το ως εξής:

1. Κρατήστε πατημένο το ALT + F11 για να ανοίξετε το Παράθυρο Microsoft Visual Basic for Applications.

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, τα ονόματα αρχείων έχουν εξαχθεί από την επιλογή ως εξής:

Note: Με αυτόν τον κωδικό VBA, τα αρχικά δεδομένα θα καταστραφούν, οπότε θα πρέπει να αντιγράψετε έναν πριν εφαρμόσετε αυτόν τον κωδικό.

Τα καλύτερα εργαλεία παραγωγικότητας γραφείου

Δημοφιλή χαρακτηριστικά: Εύρεση, επισήμανση ή αναγνώριση διπλότυπων   |  Διαγραφή κενών γραμμών   |  Συνδυάστε στήλες ή κελιά χωρίς απώλεια δεδομένων   |   Γύρος χωρίς φόρμουλα ...
Σούπερ Αναζήτηση: VLookup πολλαπλών κριτηρίων    VLookup πολλαπλών τιμών  |   VLookup σε πολλά φύλλα   |   Ασαφής αναζήτηση ....
Σύνθετη αναπτυσσόμενη λίστα: Γρήγορη δημιουργία αναπτυσσόμενης λίστας   |  Εξαρτημένη αναπτυσσόμενη λίστα   |  Πολλαπλή αναπτυσσόμενη λίστα ....
Διαχειριστής στήλης: Προσθέστε έναν συγκεκριμένο αριθμό στηλών  |  Μετακίνηση στηλών  |  Εναλλαγή κατάστασης ορατότητας κρυφών στηλών  |  Συγκρίνετε εύρη και στήλες ...
Επιλεγμένα Χαρακτηριστικά: Εστίαση πλέγματος   |  Προβολή σχεδίου   |   Μεγάλη Formula Bar    Διαχείριση βιβλίου εργασίας & φύλλου   |  Βιβλιοθήκη πόρων (Αυτόματο κείμενο)   |  Επιλογή ημερομηνίας   |  Συνδυάστε φύλλα εργασίας   |  Κρυπτογράφηση/Αποκρυπτογράφηση κελιών    Αποστολή email ανά λίστα   |  Σούπερ φίλτρο   |   Ειδικό φίλτρο (φίλτρο με έντονη γραφή/πλάγια γραφή/διαγραφή...) ...
Κορυφαία 15 σύνολα εργαλείων12 Κείμενο Εργαλεία (Προσθήκη κειμένου, Κατάργηση χαρακτήρων, ...)   |   50 + Διάγραμμα Τύποι (Gantt διάγραμμα, ...)   |   40+ Πρακτικό ΜΑΘΗΜΑΤΙΚΟΙ τυποι (Υπολογίστε την ηλικία με βάση τα γενέθλια, ...)   |   19 Εισαγωγή Εργαλεία (Εισαγωγή κωδικού QR, Εισαγωγή εικόνας από το μονοπάτι, ...)   |   12 Μετατροπή Εργαλεία (Αριθμοί σε λέξεις, Μετατροπή Συναλλάγματος, ...)   |   7 Συγχώνευση & διαχωρισμός Εργαλεία (Σύνθετες σειρές συνδυασμού, Διαίρεση κελιών, ...)   |   ... κι αλλα

Αυξήστε τις δεξιότητές σας στο Excel με τα Kutools για Excel και απολαύστε την αποτελεσματικότητα όπως ποτέ πριν. Το Kutools για Excel προσφέρει πάνω από 300 προηγμένες δυνατότητες για την ενίσχυση της παραγωγικότητας και την εξοικονόμηση χρόνου.  Κάντε κλικ εδώ για να αποκτήσετε τη δυνατότητα που χρειάζεστε περισσότερο...

kte καρτέλα 201905


Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη

  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 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