VBA - Εισαγωγή ονομάτων αρχείων σε συνδέσμους με δυνατότητα κλικ | Vba 2024

Πίνακας περιεχομένων

Πρόκειται για μια μακροεντολή που επιτρέπει σε έναν χρήστη να επιλέξει πολλά αρχεία και να εισαγάγει τα ονόματα αρχείων τους ως συνδέσμους με δυνατότητα κλικ σε ένα υπολογιστικό φύλλο.

Χρησιμοποίησα το πρόβλημα mp3 ως έμπνευση για αυτό το Macro, ωστόσο έδωσα μόνο συμβουλές για την ανάπτυξη μιας πλήρους λύσης mp3.

Η ακόλουθη μακροεντολή κάνει τα εξής:
1. Εμφανίζει ένα κοινό πλαίσιο διαλόγου
2. Επιτρέπει σε έναν χρήστη να επιλέξει πολλά αρχεία mp3 (μπορείτε να το αλλάξετε σε οποιονδήποτε τύπο αρχείου, *.mpg για παράδειγμα)
3. Εισάγει τα επιλεγμένα ονόματα αρχείων σε συνδέσμους με δυνατότητα κλικ στο υπολογιστικό φύλλο σας (Sheet1)

Η ακόλουθη μακροεντολή σκόπιμα δεν:
1. Εμφάνιση του χρόνου αναπαραγωγής ενός αρχείου mp3
Βρήκα μια λύση API σε αυτό, ωστόσο πιθανώς υπάρχει καλύτερος τρόπος

2. Εμφάνιση οποιωνδήποτε πληροφοριών ετικέτας (καλλιτέχνης, έτος, είδος κ.λπ.)
Διαβάστε το mp3 ως δυαδικό, νέο για μένα, αλλά λειτούργησε τέλεια

3. Να επιτρέπεται η εισαγωγή από περισσότερους από έναν καταλόγους
Αυτή τη στιγμή γράφει πάνω από παλιά δεδομένα

Παρουσιάζω μια ανάληψη εισαγωγής ονομάτων αρχείων σε συνδέσμους με δυνατότητα κλικ στο Excel.

Public Sub ImportMP3 ()

Dim counter Ως ακέραιος
Dim PathName As Variant
Χαμηλό όνομα MP3 ως συμβολοσειρά

Φύλλο 1. Κύτταρα. Εκκαθαρίστε τα παλιά δεδομένα

«πάρε mp3»
PathName = Application.GetOpenFilename _
("MyMusic ( *.mp3), *.mp3",, "My mp3 Selector",, True)

μετρητής = 1

Στο Σφάλμα GoTo Cancel 'σε περίπτωση που κουμπί ακύρωσης

«βρόχο μέσα από επιλεγμένα αρχεία
Ενώ ο μετρητής <= UBound (PathName) 'λαμβάνει όνομα αρχείου από τη διαδρομή MP3name = Mid (PathName (counter), _ InStrRev (PathName (counter), "\") + 1)' δημιουργεί υπερσύνδεσμο Sheet1.Cells (counter, 1) _. Hyperlinks.Add Anchor: = Sheet1.Cells (counter, 1), _ Address: = PathName (counter), TextToDisplay: = MP3name counter = counter + 1 Wend Columns ("A: A"). EntireColumn.AutoFit Cancel: End Sub

wave wave wave wave wave