Σε αυτό το άρθρο, έχουμε κοινόχρηστο κώδικα VBA για τη σύνταξη μιας προσαρμοσμένης συνάρτησης για την εξαγωγή του ονόματος αρχείου και του ονόματος φακέλου από τη διαδρομή του αρχείου.
Τα ακατέργαστα δεδομένα για αυτό το παράδειγμα καθορίζουν την πλήρη διαδρομή ορισμένων αρχείων.
Λογική εξήγηση
Σε αυτό το παράδειγμα, δημιουργήσαμε την προσαρμοσμένη συνάρτηση VBA "FileOrFolderName" η οποία επιστρέφει το όνομα του αρχείου ή του φακέλου ως έξοδο.
Η λειτουργία "FileOrFolderName" λαμβάνει δύο παραμέτρους ως είσοδο. Η πρώτη παράμετρος παίρνει τη διαδρομή του αρχείου ως είσοδο. Η δεύτερη παράμετρος λαμβάνει την τιμή Boolean ως είσοδο, εάν θέλουμε όνομα αρχείου ως έξοδο, τότε θα εκχωρήσουμε True value σε αυτήν την παράμετρο και αν θέλουμε το όνομα του φακέλου ως έξοδο, τότε θα εκχωρήσουμε False τιμή σε αυτήν την παράμετρο.
Για τον διαχωρισμό του ονόματος αρχείου και του ονόματος φακέλου από τη διαδρομή αρχείου, καταρχάς, βρίσκουμε τη θέση της τελευταίας εμφάνισης του διαχωριστή διαδρομής μέσα στη διαδρομή αρχείου. Μετά την τελευταία εμφάνιση διαχωριστή διαδρομής, μπορούμε εύκολα να διαχωρίσουμε το όνομα αρχείου και το όνομα φακέλου ως κείμενο. Στη δεξιά πλευρά του διαχωριστή διαδρομής είναι το όνομα του αρχείου και το κείμενο στην αριστερή πλευρά του διαχωριστή διαδρομής είναι το όνομα του φακέλου.
Εάν δεν υπάρχει διαχωριστής διαδρομής στη διαδρομή αρχείου, η προεπιλεγμένη διαδρομή καταλόγου ορίζεται ως όνομα φακέλου.
Εκτέλεση της προσαρμοσμένης λειτουργίας
Για χρήση καθορισμένης προσαρμοσμένης συνάρτησης, μεταβείτε στο κελί C14 και εισαγάγετε τη συνάρτηση = FileOrFolderName (B14, FALSE) και στο κελί D14, εισαγάγετε τη συνάρτηση = FileOrFolderName (B14, TRUE), όπου το κελί B14 περιέχει τη διαδρομή αρχείου.
Το Cell C14 θα δώσει το όνομα του φακέλου και το Cell D14 θα δώσει το όνομα του αρχείου.
Ακολουθήστε παρακάτω για τον κωδικό
Λειτουργία FileOrFolderName (InputString As String, _ ReturnFileName As Boolean) As String 'Επιστρέφει το όνομα φακέλου ή το όνομα αρχείου με βάση την τιμή που έχει εκχωρηθεί Dim i As Integer, FolderName As String, FileName As String i = 0' Κωδικός που χρησιμοποιείται για την εύρεση της θέσης του τελευταίου εμφάνιση διαχωριστή διαδρομής Ενώ InStr (i + 1, InputString, Application.PathSeparator)> 0 i = InStr (i + 1, InputString, Application.PathSeparator) Wend «Εξαγάγετε τη διαδρομή φακέλου» Αν δεν βρεθεί εμφάνιση διαχωριστή διαδρομής η προεπιλεγμένη διαδρομή καταλόγου Εάν i = 0 Τότε FolderName = CurDir Else FolderName = Αριστερά (InputString, i - 1) Τέλος Αν «Εξαγωγή του ονόματος αρχείου FileName = Right (InputString, Len (InputString) - i)» Επιστροφή του φακέλου ή του ονόματος αρχείου από συνάρτηση βασισμένη στην παράμετρο ReturnFileName Εάν ReturnFileName Τότε FileOrFolderName = Όνομα αρχείου άλλου FileOrFolderName = Όνομα φακέλου Τέλος αν συνάρτηση τερματισμού
Αν σας άρεσε αυτό το blog, μοιραστείτε το με τους φίλους σας στο Facebook. Επίσης, μπορείτε να μας ακολουθήσετε στο Twitter και το Facebook.
Θα θέλαμε πολύ να σας ακούσουμε, ενημερώστε μας πώς μπορούμε να βελτιώσουμε το έργο μας και να το κάνουμε καλύτερο για εσάς. Γράψτε μας στον ιστότοπο email