Paano Gumawa ng vCard (.vcf File) Reader gamit ang Excel VBA

Ipamahagi ngayon:

Nais mo na bang mag-import ng mga detalye ng contact mula sa data ng VCF sa isang Excel sheet? Sundin ang artikulong ito at lumikha ng sarili mong VCF reader na mag-i-import ng data mula sa iyong mga VCF file sa Excel worksheet

Download na Ngayon

Kung gusto mong simulan ang paggamit ng software sa lalong madaling panahon, maaari mong:

I-download ang Software Ngayon

Kung hindi man, kung nais mong DIY, maaari mong basahin ang mga nilalaman sa ibaba.

Ihanda na natin ang GUI

Ihanda natin ang GUI para sa ating VCF reader application. Sa Sheet1 kailangan naming gumawa ng field na maghahawak ng buong path ng aming VCF file. Sa halip na palawakin ang lapad ng cell, pagsamahin ang mga cell upang gawin ang field na ito. Upang payagan ang mga user na piliin ang VCF file, magdagdag tayo ng button na “Browse” sa sheet. Kailangan namin ng karagdagang button upang payagan ang mga user na mag-import ng data ng VCF. Pangalanan natin ang button na ito bilang “Import”.

Magiging ganito na ngayon ang Sheet1Ihanda Ang GUI Para sa Aming VCF Reader Application

Ihanda natin ang database

Gagamitin namin ang Sheet2 bilang database. Ang kailangan mo lang gawin ay lumikha ng naaangkop na mga header ng column. Para sa halimbawang ito, mag-i-import ako ng Pangalan at Organisasyon mula sa VCF. Kaya't idinagdag ko ang mga header ng Column na "Pangalan" sa Column A at "Organization" sa Column B.

Magiging ganito na ngayon ang Sheet2Paggamit ng Sheet2 Bilang Database

Gawin nating pagpapaandar ito

Ngayon ay binuo namin ang Front-End para sa aming tool at ang aming susunod na hakbang ay gawin itong gumana sa pamamagitan ng pagdaragdag ng mga script. Buksan ang VBA editor at sa Module1 i-paste ang script sa ibaba.

Ngayon bumalik sa Sheet1 at idagdag ang Sub “pickvcf” sa “Browse” na button. I-right click ang "Import" na buton at italaga ang macro na "importvcf" dito. I-save ang file bilang macro enabled file at iyon na. Nakabuo ka na ngayon ng VCF reader.

Subukan natin ito

Mag-click sa pindutang "Browse" upang piliin ang iyong VCF file. Sa sandaling pinindot mo ang Ok sa window ng File Browse, makikita mo ang buong path ng napiling file na lumalabas sa Sheet1. Ngayon I-click ang “Import” na buton at makikita mo kaagad ang Pangalan at Impormasyon ng Organisasyon ng Contact na lumalabas sa Sheet2.

Paano ito gumagana?

Ang script na ito ay mayroong dalawang Sub. Ang sub "pickvcf" ay upang payagan ang mga user na mag-browse at piliin ang kanilang VCF File at ang Sub "importvcf" ay magbasa at mag-import ng data mula sa VCF patungo sa Excel file.

Baguhin ito

Sa ngayon, ang script ay nag-i-import ng Pangalan at impormasyon ng Organisasyon mula sa VCF file. Madali mong mababago ang script upang mag-import ng iba pang impormasyon tulad ng Address, Telepono, Fax at Email. Maaari mo ring i-tweak ang script upang magbasa ng maraming VCF file sa isang folder at i-import ang mga ito sa isang proseso ng batch.

Ang script na ito ay mahusay na gumagana kung ang iyong Excel ay hindi sira. Gayunpaman kung mayroon kang isang sirang Excel file at gusto mong ayusin ito, maaari mong gamitin ang mga tool sa pagbawi ng Excel tulad ng DataNumen Excel Repair.

Iskrip

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

Panimula ng May-akda:

Si Nick Vipond ay isang dalubhasa sa pagbawi ng data sa DataNumen, Inc., na pinuno ng mundo sa mga teknolohiya sa pagbawi ng data, kasama ang ayusin mo doc at pananaw sa mga produkto ng software sa pagbawi. Para sa karagdagang impormasyon pagbisita www.datanumen. Sa

Ipamahagi ngayon:

Mga komento ay sarado.