Πώς να χρησιμοποιήσετε τη μέθοδο GetOpenFilename στο Excel 2016 VBA

Εάν η διαδικασία VBA πρέπει να ζητήσει από τον χρήστη ένα όνομα αρχείου, μπορείτε να χρησιμοποιήσετε τη συνάρτηση InputBox και να αφήσετε τον χρήστη του Excel να κάνει κάποια πληκτρολόγηση. Ωστόσο, ένα πλαίσιο εισαγωγής δεν είναι το καλύτερο εργαλείο για αυτήν τη δουλειά, επειδή οι περισσότεροι χρήστες δυσκολεύονται να θυμηθούν διαδρομές, ανάστροφες κάθετες, ονόματα αρχείων και επεκτάσεις αρχείων. Με άλλα λόγια, είναι πάρα πολύ εύκολο να μπερδευτείτε όταν πληκτρολογείτε ένα όνομα αρχείου.

Για καλύτερη λύση σε αυτό το πρόβλημα, χρησιμοποιήστε τη μέθοδο GetOpenFilename του αντικειμένου Εφαρμογή, η οποία διασφαλίζει ότι ο κώδικάς σας λαμβάνει ένα έγκυρο όνομα αρχείου, συμπεριλαμβανομένης της πλήρους διαδρομής του. Η μέθοδος GetOpenFilename εμφανίζει το γνωστό πλαίσιο διαλόγου Άνοιγμα (ένα νεκρό κουδούνισμα για το πλαίσιο διαλόγου Excel εμφανίζεται όταν επιλέγετε Αρχείο → Άνοιγμα → Αναζήτηση).

Η μέθοδος GetOpenFilename δεν ανοίγει πραγματικά το καθορισμένο αρχείο. Αυτή η μέθοδος απλώς επιστρέφει το όνομα αρχείου που έχει επιλέξει ο χρήστης ως συμβολοσειρά. Στη συνέχεια, μπορείτε να γράψετε κώδικα για να κάνετε ό,τι θέλετε με το όνομα του αρχείου.

Η σύνταξη για τη μέθοδο GetOpenFilename

Η επίσημη σύνταξη της μεθόδου GetOpenFilename είναι η εξής:

αντικείμενο.GetOpenFilename ([fileFilter], [filterIndex],
  [τίτλος], [buttonText], [multiSelect])

Η μέθοδος GetOpenFilename λαμβάνει τα προαιρετικά ορίσματα παρακάτω.

Διαφωνία Τι κάνει
FileFilter Καθορίζει τους τύπους αρχείων που εμφανίζονται στο παράθυρο διαλόγου
(για παράδειγμα, *.TXT). Μπορείτε να καθορίσετε πολλά φίλτρα για
να επιλέξει ο χρήστης .
FilterIndex Καθορίζει ποιο από τα αρχεία φιλτράρει το πλαίσιο διαλόγου που εμφανίζεται από
προεπιλογή.
Τίτλος Καθορίζει τη λεζάντα για τη
γραμμή τίτλου του πλαισίου διαλόγου .
ButtonText Αγνοήθηκε (χρησιμοποιείται μόνο για την έκδοση Macintosh του Excel).
MultiSelect Εάν είναι True, ο χρήστης μπορεί να επιλέξει πολλά αρχεία.

Ένα παράδειγμα GetOpenFilename

Το όρισμα fileFilter καθορίζει τι εμφανίζεται στην αναπτυσσόμενη λίστα Files of Type του πλαισίου διαλόγου. Αυτό το όρισμα αποτελείται από ζεύγη συμβολοσειρών φίλτρου αρχείου που ακολουθούνται από την προδιαγραφή φίλτρου αρχείου μπαλαντέρ, με κόμματα που χωρίζουν κάθε τμήμα και ζεύγος. Εάν παραλειφθεί, αυτό το όρισμα είναι προεπιλεγμένο ως εξής:

Ολα τα αρχεία (*.*), *.*

Σημειώστε ότι αυτή η συμβολοσειρά αποτελείται από δύο μέρη, που χωρίζονται με κόμμα:

Ολα τα αρχεία (*.*)

και

*.*

Το πρώτο μέρος αυτής της συμβολοσειράς είναι το κείμενο που εμφανίζεται στην αναπτυσσόμενη λίστα Files of Type. Το δεύτερο μέρος καθορίζει ποια αρχεία εμφανίζει το πλαίσιο διαλόγου. Για παράδειγμα, *.* σημαίνει όλα τα αρχεία.

Ο κώδικας στο ακόλουθο παράδειγμα ανοίγει ένα παράθυρο διαλόγου που ζητά από το χρήστη ένα όνομα αρχείου. Η διαδικασία ορίζει πέντε φίλτρα αρχείων. Σημειώστε ότι η ακολουθία συνέχισης γραμμής VBA χρησιμοποιείται για τη ρύθμιση της μεταβλητής Φίλτρο. Κάνοντας αυτό βοηθά στην απλοποίηση αυτού του μάλλον περίπλοκου επιχειρήματος.

Sub GetImportFileName ()
  Dim Finfo As String
  Dim FilterIdex As Long
  Dim Title As String
  Dim FileName As Variant
Ρύθμιση λίστας φίλτρων αρχείων
  FIinfo = "Αρχεία κειμένου (*.txt),*.txt," & _
      "Lotus Files (*.prn),*.prn," & _
      "Αρχεία διαχωρισμένα με κόμματα (*.csv),*.csv," & _
      "Αρχεία ASCII (*.asc),*.asc," & _
      "Ολα τα αρχεία (*.*),*.*"
' Εμφάνιση *.* από προεπιλογή
  FilterIndex = 5
Ορίστε τη λεζάντα του πλαισίου διαλόγου
  Τίτλος = "Επιλέξτε ένα αρχείο για εισαγωγή"
Λάβετε το όνομα αρχείου
  FileName = Application.GetOpenFilename (FInfo, _
    FilterIndex, Τίτλος)
Χειριστείτε τις πληροφορίες επιστροφής από το πλαίσιο διαλόγου
  Αν Όνομα Αρχείου = Λάθος Τότε
    MsgBox "Δεν επιλέχθηκε κανένα αρχείο."
  Αλλού
    MsgBox "Επιλέξατε" & Όνομα αρχείου
  Τέλος εαν
End Sub

Εδώ είναι το παράθυρο διαλόγου που εμφανίζει το Excel όταν εκτελείτε αυτήν τη διαδικασία. Η εμφάνιση μπορεί να διαφέρει, ανάλογα με την έκδοση των Windows που χρησιμοποιείτε και τις επιλογές εμφάνισης που έχετε ορίσει.

Πώς να χρησιμοποιήσετε τη μέθοδο GetOpenFilename στο Excel 2016 VBA

Η μέθοδος GetOpen Filename εμφανίζει ένα προσαρμόσιμο παράθυρο διαλόγου και επιστρέφει τη διαδρομή και το όνομα του επιλεγμένου αρχείου. Δεν ανοίγει το αρχείο.

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

Βιβλία εργασίας. Ανοίξτε το Όνομα αρχείου

Σημειώστε ότι η μεταβλητή FileName δηλώνεται ως τύπος δεδομένων Variant. Εάν ο χρήστης κάνει κλικ στο Cancel, αυτή η μεταβλητή περιέχει μια Boolean τιμή (False). Διαφορετικά, το FileName είναι μια συμβολοσειρά. Επομένως, η χρήση ενός τύπου δεδομένων Variant χειρίζεται και τις δύο δυνατότητες.

Leave a Comment

Τι είναι οι πίνακες ελέγχου και οι αναφορές στο Excel;

Τι είναι οι πίνακες ελέγχου και οι αναφορές στο Excel;

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

Πότε να χρησιμοποιήσετε το OneDrive για επιχειρήσεις

Πότε να χρησιμοποιήσετε το OneDrive για επιχειρήσεις

Ανακαλύψτε πότε να χρησιμοποιήσετε το OneDrive για επιχειρήσεις και πώς μπορείτε να επωφεληθείτε από τον αποθηκευτικό χώρο των 1 TB.

Υπολογισμός του αριθμού ημερών μεταξύ δύο ημερομηνιών στο Excel

Υπολογισμός του αριθμού ημερών μεταξύ δύο ημερομηνιών στο Excel

Ο υπολογισμός του αριθμού ημερών μεταξύ δύο ημερομηνιών είναι κρίσιμος στον επιχειρηματικό κόσμο. Μάθετε πώς να χρησιμοποιείτε τις συναρτήσεις DATEDIF και NETWORKDAYS στο Excel για ακριβείς υπολογισμούς.

Πώς να ανανεώσετε τα δεδομένα συγκεντρωτικού πίνακα του Excel

Πώς να ανανεώσετε τα δεδομένα συγκεντρωτικού πίνακα του Excel

Ανακαλύψτε πώς να ανανεώσετε γρήγορα τα δεδομένα του συγκεντρωτικού πίνακα στο Excel με τέσσερις αποτελεσματικές μεθόδους.

Μια μακροεντολή Excel για απόκρυψη όλων εκτός από το ενεργό φύλλο εργασίας

Μια μακροεντολή Excel για απόκρυψη όλων εκτός από το ενεργό φύλλο εργασίας

Μάθετε πώς μπορείτε να χρησιμοποιήσετε μια μακροεντολή Excel για να αποκρύψετε όλα τα ανενεργά φύλλα εργασίας, βελτιώνοντας την οργάνωση του βιβλίου εργασίας σας.

Ιδιότητες πεδίου MS Access για να βεβαιωθείτε ότι οι καταχωρίσεις δεδομένων είναι ακριβείς

Ιδιότητες πεδίου MS Access για να βεβαιωθείτε ότι οι καταχωρίσεις δεδομένων είναι ακριβείς

Ανακαλύψτε τις Ιδιότητες πεδίου MS Access για να μειώσετε τα λάθη κατά την εισαγωγή δεδομένων και να διασφαλίσετε την ακριβή καταχώρηση πληροφοριών.

Πώς να κάνετε αυτόματη σύνοψη ενός εγγράφου του Word 2003

Πώς να κάνετε αυτόματη σύνοψη ενός εγγράφου του Word 2003

Ανακαλύψτε πώς να χρησιμοποιήσετε το εργαλείο αυτόματης σύνοψης στο Word 2003 για να συνοψίσετε εγγραφές γρήγορα και αποτελεσματικά.

Πώς να χρησιμοποιήσετε τη συνάρτηση PROB στο Excel

Πώς να χρησιμοποιήσετε τη συνάρτηση PROB στο Excel

Η συνάρτηση PROB στο Excel επιτρέπει στους χρήστες να υπολογίζουν πιθανότητες με βάση δεδομένα και πιθανότητες σχέσης, ιδανική για στατιστική ανάλυση.

Τι σημαίνουν τα μηνύματα σφάλματος επίλυσης στο Excel;

Τι σημαίνουν τα μηνύματα σφάλματος επίλυσης στο Excel;

Ανακαλύψτε τι σημαίνουν τα μηνύματα σφάλματος του Solver στο Excel και πώς να τα επιλύσετε, βελτιστοποιώντας τις εργασίες σας αποτελεσματικά.

Πώς να χρησιμοποιήσετε τη συνάρτηση FREQUENCY στο Excel

Πώς να χρησιμοποιήσετε τη συνάρτηση FREQUENCY στο Excel

Η συνάρτηση FREQUENCY στο Excel μετράει τις τιμές σε έναν πίνακα που εμπίπτουν σε ένα εύρος ή bin. Μάθετε πώς να την χρησιμοποιείτε για την κατανομή συχνότητας.