VBA - Importer des noms de fichiers vers des liens cliquables

Table des matières

Il s'agit d'une macro qui permet à un utilisateur de sélectionner plusieurs fichiers et d'importer leurs noms de fichiers sous forme de liens cliquables dans une feuille de calcul.

J'ai utilisé le problème mp3 comme source d'inspiration pour cette macro, mais je n'ai fourni que des conseils sur le développement d'une solution mp3 complète.

La macro suivante effectue les opérations suivantes :
1. Affiche une boîte de dialogue commune
2. Permet à un utilisateur de choisir plusieurs fichiers mp3 (vous pouvez le remplacer par n'importe quel type de fichier, *.mpg par exemple)
3. Importe les noms de fichiers sélectionnés vers des liens cliquables dans votre feuille de calcul (Sheet1)

La macro suivante ne fonctionne pas intentionnellement :
1. Afficher le temps de lecture d'un fichier mp3
J'ai trouvé une solution API à cela, mais il y a probablement un meilleur moyen

2. Affichez n'importe quelle information de Tag (Artiste, Année, Genre, etc.)
Lire le mp3 en binaire, nouveau pour moi mais a très bien fonctionné

3. Autoriser l'importation à partir de plusieurs répertoires
Il écrit actuellement sur les anciennes données

Je présente une prise sur l'importation de noms de fichiers vers des liens cliquables dans Excel.

Public Sub ImportMP3()

Dim counter As Integer
Dim PathName en tant que variante
Dim MP3name en tant que chaîne

Sheet1.Cells.Clear 'effacer les anciennes données

'obtenir des mp3
PathName = Application.GetOpenFilename _
("MaMusique (*.mp3), *.mp3", , "Mon Sélecteur mp3", , Vrai)

compteur = 1

En cas d'erreur GoTo Cancel 'au cas où le bouton d'annulation

'boucle à travers les fichiers sélectionnés
Alors que counter <= UBound(PathName) 'obtenir le nom du fichier à partir du chemin MP3name = Mid(PathName(counter), _ InStrRev(PathName(counter), "\") + 1) 'créer un lien hypertexte 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

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave