Comment créer un lecteur vCard (fichier .vcf) avec Excel VBA

Partage maintenant:

Avez-vous déjà voulu importer les coordonnées des données VCF dans une feuille Excel ? Suivez cet article et créez votre propre lecteur VCF qui importerait les données de vos fichiers VCF dans des feuilles de calcul Excel

Téléchargez

Si vous souhaitez commencer à utiliser le logiciel dès que possible, vous pouvez :

Téléchargez le logiciel maintenant

Sinon, si vous voulez bricoler, vous pouvez lire le contenu ci-dessous.

Préparons l'interface graphique

Préparons l'interface graphique pour notre application de lecteur VCF. Sur Sheet1, nous devons créer un champ qui contiendra le chemin complet de notre fichier VCF. Plutôt que d'augmenter la largeur de la cellule, fusionnez les cellules pour créer ce champ. Pour permettre aux utilisateurs de sélectionner le fichier VCF, ajoutons un bouton "Parcourir" à la feuille. Nous avons besoin d'un bouton supplémentaire pour permettre aux utilisateurs d'importer les données VCF. Appelons ce bouton "Importer".

Le Sheet1 ressemblera maintenant à ceciPréparer l'interface graphique pour notre application VCF Reader

Préparons la base de données

Nous utiliserons Sheet2 comme base de données. Tout ce que vous avez à faire est de créer des en-têtes de colonne appropriés. Pour cet exemple, je vais importer le nom et l'organisation de VCF. J'ai donc ajouté les en-têtes de colonne "Nom" sur la colonne A et "Organisation" sur la colonne B.

Sheet2 ressemblera maintenant à ceciUtilisation de Sheet2 comme base de données

Rendons-le fonctionnel

Nous avons maintenant développé le Front-End pour notre outil et notre prochaine étape consiste à le rendre fonctionnel en ajoutant des scripts. Ouvrez l'éditeur VBA et dans le Module1, collez le script ci-dessous.

Revenez maintenant à Sheet1 et ajoutez le sous-titre "pickvcf" au bouton "Parcourir". Faites un clic droit sur le bouton "Importer" et attribuez-lui la macro "importvcf". Enregistrez le fichier en tant que fichier activé par macro et c'est tout. Vous avez maintenant développé un lecteur VCF.

Testons-le

Cliquez sur le bouton "Parcourir" pour sélectionner votre fichier VCF. Dès que vous appuyez sur OK dans la fenêtre Parcourir les fichiers, vous pouvez voir le chemin complet du fichier sélectionné apparaître sur la feuille Sheet1. Maintenant, cliquez sur le bouton "Importer" et vous verrez immédiatement les informations sur le nom et l'organisation du contact apparaissant sur Sheet2.

Comment cela fonctionne?

Ce script contient deux Subs. Le sous "pickvcf" permet aux utilisateurs de parcourir et de sélectionner leur fichier VCF et le sous "importvcf" est de lire et d'importer des données de VCF dans un fichier Excel.

Modifiez-le

À partir de maintenant, le script importe les informations de nom et d'organisation à partir du fichier VCF. Vous pouvez facilement modifier le script pour importer d'autres informations telles que l'adresse, le téléphone, le fax et l'e-mail. Vous pouvez également modifier le script pour lire plusieurs fichiers VCF dans un dossier et les importer dans un processus par lots.

Ce script fonctionne bien si votre Excel n'est pas corrompu. Cependant si vous avez un fichier excel corrompu et que vous souhaitez le réparer, vous pouvez utiliser des outils de récupération Excel tels que DataNumen Excel Repair.

scénario

Sub pickvcf()
    Dim fd As Office.FileDialog
    Set fd = Application.FileDialog(msoFileDialogFilePicker)
    With fd
        .AllowMultiSelect = False
        .Title = "Please select the file."
        .Filters.Clear
        .Filters.Add "VCF", "*.vcf"
        If .Show = True Then
            txtFileName = .SelectedItems(1)
            Sheets("Sheet1").Range("F8").Value = txtFileName
        End If
    End With
End Sub

Sub Importvcf()
    Dim fileName As String, textData As String, textRow As String, fileNo As Integer
    fileName = Sheets("Sheet1").Range("F8").Value
    fileNo = FreeFile
    r = 2
    Open fileName For Input As #fileNo
    Do While Not EOF(fileNo)
        Line Input #fileNo, textRow
        If Left(textRow, 3) = "FN:" Then
            Sheets("Sheet2").Range("A" & r).Value = Replace(textRow, "FN:", "")
        End If
        If Left(textRow, 4) = "ORG:" Then
            Sheets("Sheet2").Range("B" & r).Value = Replace(textRow, "ORG:", "")
        End If
    Loop
    Close #fileNo
End Sub

Introduction de l'auteur:

Nick Vipond est un expert en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris doc de réparation et produits logiciels de récupération Outlook. Pour plus d'informations, visitez www.datanumen.com

Partage maintenant:

Les commentaires sont fermés.