Hvordan lage en vCard-leser (.vcf-fil) med Excel VBA

Har du noen gang ønsket å importere kontaktdetaljer fra VCF-data til et Excel-ark? Følg denne artikkelen og lag din egen VCF-leser som importerer data fra VCF-filene dine til Excel-regneark

Last ned nå

Hvis du vil begynne å bruke programvaren så snart som mulig, kan du:

Last ned programvaren nå

Ellers, hvis du vil gjøre DIY, kan du lese innholdet nedenfor.

La oss forberede GUI

La oss forberede GUI for vår VCF-leserapplikasjon. På Sheet1 må vi lage et felt som vil inneholde hele banen til VCF-filen vår. I stedet for å utvide cellebredden, slå sammen celler for å lage dette feltet. For å la brukere velge VCF-filen, la oss legge til en "Bla gjennom"-knapp på arket. Vi trenger en ekstra knapp for å tillate brukere å importere VCF-dataene. La oss kalle denne knappen "Importer".

Ark1 vil nå se slik utForbered GUI for vår VCF Reader-applikasjon

La oss forberede databasen

Vi vil bruke Sheet2 som database. Alt du trenger å gjøre er å lage passende kolonneoverskrifter. For dette eksemplet skal jeg importere navn og organisasjon fra VCF. Så jeg har lagt til kolonneoverskrifter "Navn" på kolonne A og "Organisasjon" på kolonne B.

Ark2 vil nå se slik utBruker ark2 som database

La oss gjøre det funksjonelt

Nå har vi utviklet front-end for verktøyet vårt, og vårt neste steg er å gjøre det funksjonelt ved å legge til skript. Åpne VBA-editoren og lim inn skriptet nedenfor i Module1.

Gå nå tilbake til Ark1 og legg til Sub "pickvcf" til "Browse"-knappen. Høyreklikk på "Importer"-knappen og tilordne makroen "importvcf" til den. Lagre filen som makroaktivert fil, og det er det. Du har nå utviklet en VCF-leser.

La oss teste det

Klikk på "Bla gjennom"-knappen for å velge din VCF-fil. Så snart du trykker på Ok i filsøk-vinduet, kan du se hele banen til den valgte filen vises på ark1. Klikk nå på "Importer"-knappen og du vil umiddelbart se navn og organisasjonsinformasjon for kontakten som vises på ark2.

Hvordan det fungerer?

Dette skriptet har to Subs. Sub "pickvcf" er å tillate brukere å bla gjennom og velge sin VCF-fil, og under-"importvcf" er å lese og importere data fra VCF til Excel-fil.

Endre det

Per nå importerer skriptet navn og organisasjonsinformasjon fra VCF-filen. Du kan enkelt endre skriptet for å importere annen informasjon som adresse, telefon, faks og e-post. Du kan også justere skriptet for å lese flere VCF-filer i en mappe og importere dem i en batchprosess.

Dette skriptet fungerer bra hvis Excel ikke er skadet. Men hvis du har en ødelagt Excel-fil og ønsker å reparere den, kan du bruke Excel-gjenopprettingsverktøy som f.eks 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

Forfatterintroduksjon:

Nick Vipond er en datagjenopprettingsekspert innen DataNumen, Inc., som er verdensledende innen datagjenopprettingsteknologier, inkludert reparasjonsdok og Outlook-programvareprodukter. For mer informasjon besøk www.datanumen. Med

Kommentarer er stengt.