Sådan oprettes en vCard-læser (.vcf-fil) med Excel VBA

Har du nogensinde ønsket at importere kontaktoplysninger fra VCF-data til et Excel-ark? Følg denne artikel og opret din egen VCF-læser, der importerer data fra dine VCF-filer til Excel-regneark

Hent nu

Hvis du vil start for at bruge softwaren så hurtigt som muligt, så kan du:

Download softwaren nu

Ellers kan du læse indholdet nedenfor, hvis du vil gøre det selv.

Lad os forberede GUI

Lad os forberede GUI'en til vores VCF-læserapplikation. På Sheet1 skal vi oprette et felt, der vil indeholde hele stien til vores VCF-fil. I stedet for at udvide cellebredden, flet celler for at oprette dette felt. For at tillade brugere at vælge VCF-filen, lad os tilføje en "Gennemse"-knap til arket. Vi har brug for en ekstra knap for at tillade brugere at importere VCF-data. Lad os navngive denne knap som "Importer".

Ark1 vil nu se sådan udForbered GUI'en til vores VCF-læserapplikation

Lad os forberede databasen

Vi vil bruge Sheet2 som database. Alt du skal gøre er at oprette passende kolonneoverskrifter. For dette eksempel vil jeg importere navn og organisation fra VCF. Så jeg har tilføjet kolonneoverskrifter "Navn" på kolonne A og "Organisation" på kolonne B.

Ark2 vil nu se sådan udBrug af ark2 som database

Lad os gøre det funktionelt

Nu har vi udviklet Front-Enden til vores værktøj, og vores næste skridt er at gøre det funktionelt ved at tilføje scripts. Åbn VBA-editoren og indsæt nedenstående script i Module1.

Gå nu tilbage til Ark1 og tilføj Sub "pickvcf" til knappen "Gennemse". Højreklik på knappen "Importer" og tildel makroen "importvcf" til den. Gem filen som makroaktiveret fil, og det er det. Du har nu udviklet en VCF-læser.

Lad os teste det

Klik på knappen "Gennemse" for at vælge din VCF-fil. Så snart du trykker på Ok i vinduet Filgennemse, kan du se den fulde sti til den valgte fil, der vises på ark1. Klik nu på knappen "Importer", og du vil straks se navn og organisationsoplysninger for kontakten, der vises på Ark2.

Hvordan det virker?

Dette script har to Subs. Sub "pickvcf" er at give brugere mulighed for at gennemse og vælge deres VCF-fil, og under-"importvcf" er at læse og importere data fra VCF til Excel-fil.

Rediger det

Fra nu af importerer scriptet navn og organisationsoplysninger fra VCF-filen. Du kan nemt ændre scriptet for at importere andre oplysninger som adresse, telefon, fax og e-mail. Du kan også justere scriptet for at læse flere VCF-filer i en mappe og importere dem i en batch-proces.

Dette script fungerer godt, hvis din Excel ikke er beskadiget. Men hvis du har en beskadiget Excel-fil og vil reparere det, kan du bruge Excel-gendannelsesværktøjer 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

Forfatter Introduktion:

Nick Vipond er en datagendannelsesekspert i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder reparationsdok og Outlook Outlook-softwareprodukter. For mere information besøg www.datanumen.com

Kommentarer er lukket.