• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Van xlsx naar vcard voor contactpersonen in iphone

Status
Niet open voor verdere reacties.

Henry1st

Gebruiker
Lid geworden
8 sep 2000
Berichten
502
Ik heb een adresbestand van meer dan 400 personen met daarin (voor-) namen, adressen, telefoonnummers, homepages en extra aantekeningen die ik heb opgeslagen als een .xlsx-bestand. Ik wil dit bestand graag als een vcard-bestand opslaan, zodat ik dit via icloud.com kan inlezen en als mijn contacten in mijn iphone/ipad kan gebruiken. Helaas lukt me dit niet. Wat ik gedaan heb, is het .xlsx-bestand in gmail importeren (dat lukt) en daarna laat ik het via gmail als een vcard-bestand wegschrijven. Als ik dit bestand dan wil importeren in icloud krijg ik steeds foutmeldingen (ws. te lange velden - ik heb het ook geprobeerd met slecht minimale informatie, maar dan gaat het ook niet).

Wie kan me helpen? Ik zoek liefst een online - gratis!- converter die dit voor mij oplost. Anders evt. freeware? Alvast dank!
 
google "excel vcard convert"
 
Heb ik gedaan, heel veel pagina's in Google bezocht, maar alles betaalde software of wel gratis converters die van vcards naar xlsx converteren en dat moet precies andersom.
 
Laatst bewerkt:
Dit is nog eens een goede tip! Ik heb het gedownload, maar krijg dan deze foutmelding als ik wil converteren: Compile error in hidden module: <module name>, Office Shared [vblr6.chm1040201]. De andere programma's zijn trials.
 
Je zal het ook niet 1 op 1 kunnen gebruiken. Plaats hetgeen je hebt gedownload eens hier, samen met een document met een regeltje of 10 van je adressenbestand. Mag ook geanonimiseerd zijn uiteraard. Met welke versie van Office werk je? Zijn van die versie ook de gedeelde onderdelen geïnstalleerd?
 
Laatst bewerkt:
Sorry, maar ik download niets dat ook maar iets met Softonic te maken heeft. Het ging mij op de pagina waar ik naar verwees trouwens om het stukje VBA code dat daar staat. Plaats eens een voorbeeld van je adressenbestand. Dan maak ik 'm voor je omdat het heel simpel zelf te doen is.
 
Laatst bewerkt:
Dat is heel aardig van je, maar ik plaats niet zomaar adressen van anderen op het net.
 
Dat is heel aardig van je, maar ik plaats niet zomaar adressen van anderen op het net.

Dat is de betekenis van het woord "geanonimiseerd" in de vraag van edmoor.
Daarnaast, Kerkstraat en Schoolstraat zijn ook goed als testdata.
 
Dat is heel aardig van je, maar ik plaats niet zomaar adressen van anderen op het net.

Het gaat me alleen om waar welk gegeven staat.
Een paar regels zijn voldoende, dat zou je toch makkelijkmoeten kunnen leveren.
Het benodigde stukje code is dan zo gemaakt.
 
Ik snap het, ik stuur je morgen een paar regeltjes. Nu lukt dat niet meer.
 
Hier zijn een paar voorbeeldregeltjes, dank voor je werk. Btw ik zie net dat we op dezelfde dag in een ver verleden lid zijn geworden van Helpmij.nl
 

Bijlagen

Een begin
Maakt vcards met een datum+tijd+regelnummer bestandsnaam
Code:
Option Explicit

Public Sub Create_VCF()
    Dim lngFileNumber As Long
    Dim lngRow As Long
    Dim lngRows As Long
    With Worksheets("Blad1")
        lngRows = .Cells(.Rows.Count, 1).End(xlUp).Row
        If lngRows <> 2 Then
            For lngRow = 2 To lngRows
                lngFileNumber = FreeFile
                Open ThisWorkbook.Path & Application.PathSeparator & Format(Now, "yyyymmddhhnn") & Format(lngRow, "000") & ".VCF" For Output As #1
                Print #lngFileNumber, "BEGIN:VCARD"
                Print #lngFileNumber, "VERSION:3.0"
                Print #lngFileNumber, "N:" & .Cells(lngRow, 2).Value & ";" & .Cells(lngRow, 1).Value & ";;;"
                Print #lngFileNumber, "FN:" & .Cells(lngRow, 3).Value
                Print #lngFileNumber, "EMAIL:" & .Cells(lngRow, 4).Value
                Print #lngFileNumber, "ORG:" & .Cells(lngRow, 6).Value & ";" & .Cells(lngRow, 7).Value
                Print #lngFileNumber, "TEL;TYPE=CELL;TYPE=PREF:" & .Cells(lngRow, 5).Value
                Print #lngFileNumber, "TITLE:" & .Cells(lngRow, 8).Value
                Print #lngFileNumber, "URL:" & .Cells(lngRow, 12).Value
                Print #lngFileNumber, "NOTE:Source: " & .Cells(lngRow, 14).Value
                Print #lngFileNumber, "END:VCARD"
                Close lngFileNumber
            Next
        End If
    End With
End Sub

Kan zijn dan je voor je iphone source een custom field kan aanmaken
 

Bijlagen

Laatst bewerkt:
Bij deze met een knop en het kiezen van een bestand:
Bekijk bijlage Test.xlsm

Komt wel zo'n beetje op hetzelfde neer als van alphamax alleen schrijf ik alles in 1 bestand.
Het ligt aan het import programma of deze dat accepteert.
Overigens heb ik IM en SOURCE aan de NOTES toegevoegd.
 
Laatst bewerkt:
Heel erg bedankt voor je werk :thumb:. Ik ben even een paar dagen niet in Nederland, maar ga er a.s. donderdag graag mee aan de slag!
 
Laatst bewerkt:
of

Code:
Sub M_vcf_snb()
  sn = Cells(1).CurrentRegion
    
  With CreateObject("ADODB.Stream")
     .Type = 2
     For j = 2 To UBound(sn)
        .Open
        .WriteText Join(Array("BEGIN:VCARD", "VERSION:3.0", "N;" & sn(j, 2) & ";" & sn(j, 1), "ORG;" & sn(j, 6), "URL;" & sn(j, 12), "EMAIL;TYPE=INTERNET;" & sn(j, 4), "TEL;TYPE=voice,work,pref;" & Split(sn(1, 5), vbLf)(0), "ADR;TYPE=intl,work,postal,parcel;;;" & sn(1, 11) & ";;;;", "END:VCARD"), vbCrLf)
        .Position = 3
        .SaveToFile "G:\OF\Last_" & Format(j, "000") & ".vcf"
     Next
  End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan