Excel VBA yordamida vCard (.vcf fayli) o'quvchisini qanday yaratish mumkin

Hozir ulashing:

Hech qachon VCF ma'lumotlaridan Excel varag'iga kontakt ma'lumotlarini import qilishni xohlaganmisiz? Ushbu maqolani kuzatib boring va VCF fayllaringizdan ma'lumotlarni Excel ish varaqlariga import qiladigan o'zingizning VCF o'quvchingizni yarating

Hozir yuklab olmoq

Agar siz dasturiy ta'minotdan iloji boricha tezroq foydalanishni boshlamoqchi bo'lsangiz, unda quyidagilarni qilishingiz mumkin:

Dasturiy ta'minotni hozir yuklab oling

Aks holda, agar siz DIY qilishni istasangiz, quyidagi tarkibni o'qishingiz mumkin.

GUI ni tayyorlaylik

Keling, VCF o'quvchi ilovamiz uchun grafik interfeysni tayyorlaylik. Sheet1 da biz VCF faylimizning to'liq yo'lini ushlab turadigan maydon yaratishimiz kerak. Hujayra kengligini kengaytirish o'rniga, bu maydonni yaratish uchun hujayralarni birlashtiring. Foydalanuvchilarga VCF faylni tanlashga ruxsat berish uchun varaqqa “Browse” tugmasini qo'shamiz. Foydalanuvchilarga VCF ma'lumotlarini import qilish uchun bizga qo'shimcha tugma kerak. Keling, ushbu tugmani "Import" deb nomlaymiz.

Sheet1 endi shunday ko'rinadiVCF Reader ilovamiz uchun grafik interfeysni tayyorlang

Keling, ma'lumotlar bazasini tayyorlaylik

Biz Sheet2 dan ma'lumotlar bazasi sifatida foydalanamiz. Siz qilishingiz kerak bo'lgan yagona narsa tegishli ustun sarlavhalarini yaratishdir. Ushbu misol uchun men VCF-dan ism va tashkilotni import qilmoqchiman. Shunday qilib, men ustun sarlavhalarini A ustuniga "Ism" va B ustuniga "Tashkilot" qo'shdim.

Sheet2 endi shunday ko'rinadiSheet2 dan ma'lumotlar bazasi sifatida foydalanish

Keling, uni funksional holga keltiraylik

Endi biz vositamiz uchun Front-End-ni ishlab chiqdik va keyingi qadamimiz skriptlarni qo'shish orqali uni funktsional qilishdir. VBA muharririni oching va Module1-ga quyidagi skriptni joylashtiring.

Endi Sheet1 ga qayting va "Browse" tugmachasiga Sub "pickvcf" ni qo'shing. "Import" tugmasini o'ng tugmasini bosing va unga "importvcf" makrosini belgilang. Faylni so'l bilan faollashtirilgan fayl sifatida saqlang va shu bilan birga. Endi siz VCF o'quvchini ishlab chiqdingiz.

Keling, sinab ko'raylik

VCF faylingizni tanlash uchun "Browse" tugmasini bosing. Fayllarni ko'rib chiqish oynasida Ok tugmasini bosganingizdan so'ng 1-jadvalda tanlangan faylning to'liq yo'lini ko'rishingiz mumkin. Endi "Import" tugmasini bosing va siz darhol 2-jadvalda paydo bo'lgan kontaktning nomi va tashkilot ma'lumotlarini ko'rasiz.

U qanday ishlaydi?

Ushbu skript ikkita Subsni o'z ichiga oladi. Sub "pickvcf" foydalanuvchilarga VCF faylini ko'rib chiqish va tanlash imkonini beradi va "importvcf" pastki qismi VCF dan Excel fayliga ma'lumotlarni o'qish va import qilishdir.

Uni o'zgartiring

Hozircha skript VCF faylidan Ism va Tashkilot ma'lumotlarini import qiladi. Manzil, telefon, faks va elektron pochta kabi boshqa ma'lumotlarni import qilish uchun skriptni osongina o'zgartirishingiz mumkin. Bundan tashqari, papkadagi bir nechta VCF fayllarni o'qish va ularni ommaviy jarayonda import qilish uchun skriptni sozlashingiz mumkin.

Agar Excel buzilmagan bo'lsa, ushbu skript yaxshi ishlaydi. Biroq, agar sizda mavjud bo'lsa buzilgan Excel fayli va uni ta'mirlamoqchi bo'lsangiz, kabi Excel qutqaruv vositalaridan foydalanishingiz mumkin DataNumen Excel Repair.

stsenariy

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

Muallif kirish:

Nik Vipond - ma'lumotlarni qayta tiklash bo'yicha mutaxassis DataNumenMa'lumotlarni qayta tiklash texnologiyalari bo'yicha jahon yetakchisi bo'lgan , Inc ta'mirlash doc va istiqbolni tiklash dasturiy mahsulotlar. Qo'shimcha ma'lumot olish uchun tashrif buyuring www.datanumen.com

Hozir ulashing:

Comments are closed.