Hoe maak je een vCard-lezer (.vcf-bestand) met Excel VBA

Heeft u ooit contactgegevens uit VCF-gegevens willen importeren in een Excel-sheet? Volg dit artikel en maak uw eigen VCF-lezer die gegevens uit uw VCF-bestanden in Excel-werkbladen zou importeren

Nu downloaden

Als u de software zo snel mogelijk wilt gaan gebruiken, kunt u het volgende doen:

Download de software nu

Anders, als je zelf wilt klussen, kun je de onderstaande inhoud lezen.

Laten we de GUI voorbereiden

Laten we de GUI voorbereiden voor onze VCF-lezerapplicatie. Op Sheet1 moeten we een veld maken dat het volledige pad van ons VCF-bestand bevat. In plaats van de celbreedte uit te breiden, voegt u cellen samen om dit veld te maken. Om gebruikers in staat te stellen het VCF-bestand te selecteren, laten we een knop "Bladeren" aan het blad toevoegen. We hebben een extra knop nodig waarmee gebruikers de VCF-gegevens kunnen importeren. Laten we deze knop "Importeren" noemen.

De Sheet1 ziet er nu zo uitBereid de GUI voor op onze VCF Reader-applicatie

Laten we de database voorbereiden

We gebruiken Sheet2 als database. Het enige dat u hoeft te doen, is de juiste kolomkoppen maken. Voor dit voorbeeld ga ik naam en organisatie importeren uit VCF. Daarom heb ik kolomkoppen "Naam" toegevoegd aan kolom A en "Organisatie" in kolom B.

Sheet2 ziet er nu zo uitSheet2 gebruiken als database

Laten we het functioneel maken

Nu hebben we de Front-End voor onze tool ontwikkeld en onze volgende stap is om deze functioneel te maken door scripts toe te voegen. Open de VBA-editor en plak in Module1 het onderstaande script.

Ga nu terug naar Sheet1 en voeg de Sub “pickvcf” toe aan de “Browse” knop. Klik met de rechtermuisknop op de knop "Importeren" en wijs de macro "importvcf" eraan toe. Sla het bestand op als macro-ingeschakeld bestand en dat is het dan. U heeft nu een VCF-lezer ontwikkeld.

Laten we het testen

Klik op de knop "Bladeren" om uw VCF-bestand te selecteren. Zodra u op OK drukt in het venster Bestand bladeren, kunt u het volledige pad van het geselecteerde bestand zien verschijnen op Blad1. Klik nu op de knop "Importeren" en u ziet onmiddellijk de naam en organisatie-informatie van de contactpersoon verschijnen op Sheet2.

Hoe werkt het?

Dit script bevat twee Subs. Sub "pickvcf" is om gebruikers in staat te stellen te bladeren en hun VCF-bestand te selecteren en de Sub "importvcf" is om gegevens van VCF in Excel-bestand te lezen en te importeren.

Pas het aan

Vanaf nu importeert het script naam- en organisatiegegevens uit het VCF-bestand. U kunt het script eenvoudig aanpassen om andere informatie zoals adres, telefoon, fax en e-mail te importeren. U kunt het script ook aanpassen om meerdere VCF-bestanden in een map te lezen en ze in een batchproces te importeren.

Dit script werkt goed als uw Excel niet beschadigd is. Als u echter een beschadigd Excel-bestand en het wilt repareren, kunt u Excel-herstelhulpmiddelen gebruiken, zoals DataNumen Excel Repair.

Script

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

Auteur Introductie:

Nick Vipond is een data recovery-expert in DataNumen, Inc., de wereldleider in technologieën voor gegevensherstel, waaronder reparatie doc en Outlook-herstelsoftwareproducten. Voor meer informatie bezoek www.datanumen.com

Reacties zijn gesloten.