CSV Formatını Düzenleme

Katılım
8 Aralık 2020
Mesajlar
11
Excel Vers. ve Dili
2011 - TR
Altın Üyelik Bitiş Tarihi
09-12-2021
Merhabalar,

Elimde formatı düzgün olmayan 65.000 satırlı bir csv dosyası var. Bunlar yaklaşık 5.000 vcf (vCart). Bunları toplu bir şekilde düzgün bir csv'ye çevirip outlook'a kişi olarak aktarmam gerek. Bu konuda fikir sunabilecek, yardım edebilecek birileri olursa çok memnun olurum. İlk 10 vcart örnek olarak aşağıdaki dosyada yer alıyor. Şimdiden çok teşekkür ederim.
 

Ekli dosyalar

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Aşağıdaki linki inceleyin;

Linkteki Excel tablosunda beliritlen şablona uygun olarak CSV'den Excel'e aktardıktan sonra aktarabilirsiniz...


.
 
Katılım
8 Aralık 2020
Mesajlar
11
Excel Vers. ve Dili
2011 - TR
Altın Üyelik Bitiş Tarihi
09-12-2021
çok teşekkürler Haluk Bey, fakat burada zorlandığım kısım sizin bahsettiğiniz gibi elimdeki şablonu uygun bir şekilde excel'e aktarmak. bu konuda yol gösterebilir misiniz?
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Excel'de Data >> From Text menüsü ile CSV'den Excel'e verileri alabilirsiniz.

Olmazsa, örneğini ekleyin ..... bakalım.

.
 
Katılım
8 Aralık 2020
Mesajlar
11
Excel Vers. ve Dili
2011 - TR
Altın Üyelik Bitiş Tarihi
09-12-2021
dediğinizi yaptım Haluk Bey fakat aşağıdaki gibi sadece BEGIN:VCARD ve VERSION:3.0 satırlarını sütun ikiye attı. diğerlerinde iki nokta üst üste olan kısımları ayıramadı.

224528
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Ben bu şekilde değil de, verilerin CSV'de olduğunu sanmıştım.....

Bunların esas kaynağı nedir?

.
 
Katılım
8 Aralık 2020
Mesajlar
11
Excel Vers. ve Dili
2011 - TR
Altın Üyelik Bitiş Tarihi
09-12-2021
şimdi olay şöyle hocam; bir müşterimizin outlook kişi listesi kayboldu. sonrasında nasıl geri getirebilirizi araştırırken bilgisayarındaki indirilenler klasöründe my contacts isimli bir csv dosyası bulduk. aslında dosya uzantısı csv fakat içerideki veriler vcard. bunu nasıl, nereden, ne şekilde export etmiş bilmiyoruz. dosya 65.000 satıra yakın o sebeple ben dosyanın ilk 20 kaydının bulunduğu halini paylaşıyorum: https://yadi.sk/d/Q6eaL9pXjRsXQg

csv uzantılı olduğu için ekte paylaşamadım.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Müşteriniz bilinçli veya bilinçsiz olarak yedekleme yapmış..... iyi de etmiş.

Aşağıdaki linke bakıp, bu CSV dosyasını Outlook'a nasıl aktaracağınıza bakabilirsiniz.


.
 
Katılım
8 Aralık 2020
Mesajlar
11
Excel Vers. ve Dili
2011 - TR
Altın Üyelik Bitiş Tarihi
09-12-2021
Her BEGIN:END aralığındaki veri bir kişiye ait VCARD verisi. Her biri ayrılıp .vcf uzantısıyla kaydedilmeli ya da satırları ilgili sütunlara dağıtacak bir makro olmalı. 4825 kişi var ve satır sayıları aynı değil, mesela sadece 153 adres var, 1938 mail var.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Öyle olması gerekmez..... Tek bir *.vcf dosyasında kişilerin hepsi olabilir.

Siz önerdiğim linkteki uygulamayı yaptınız mı ?

.
 
Katılım
8 Aralık 2020
Mesajlar
11
Excel Vers. ve Dili
2011 - TR
Altın Üyelik Bitiş Tarihi
09-12-2021
Linkteki uygulamayı denedim, 1 adet boş kişi oluşturdu. birden fazla link var önce Outlook.com çözümünü denemiştim.
Makroyla ilgili cevabınıza şimdi baktım;

Run-time error '9': Subscript out of range
Debug:
lastName = Name(UBound(Name))
 
Son düzenleme:
Katılım
8 Aralık 2020
Mesajlar
11
Excel Vers. ve Dili
2011 - TR
Altın Üyelik Bitiş Tarihi
09-12-2021
Bu iki satırı devre dışı bırakınca masaüstünde 13,5 MB'lık VCF dosyası oluşturdu ama Outlook'a aktarınca 1 adet boş kişi oluşturdu.

' lastName = Name(UBound(Name))
' firstName = Trim(Replace(Range("A" & i).Text, lastName, ""))
 
Katılım
8 Aralık 2020
Mesajlar
11
Excel Vers. ve Dili
2011 - TR
Altın Üyelik Bitiş Tarihi
09-12-2021
Alan isimleri şöyle hocam;

BEGIN

VERSION

N;CHARSET=UTF-8

NICKNAME;CHARSET=UTF-8

X-PHONETIC-FIRST-NAME;CHARSET=UTF-8

X-PHONETIC-LAST-NAME;CHARSET=UTF-8

item2090.EMAIL;CHARSET=UTF-8

item2090.X-ABLabel

TITLE;CHARSET=UTF-8

ORG;CHARSET=UTF-8

NOTE;CHARSET=UTF-8

END



Her e-mail için ardışık item numarası vermiş, 1'den 2090'a kadar gidiyor. Bunları topluca EMAIL'e çevirip makrodaki alan isimlerini dosyaya uyurursam olur diye düşünüyorum.
 
Katılım
8 Aralık 2020
Mesajlar
11
Excel Vers. ve Dili
2011 - TR
Altın Üyelik Bitiş Tarihi
09-12-2021
Hocam geç oldu ama şunu fark ettim; linkteki makro, Excel tablosundaki düzgün veriyi VCF yapıyor, bana bunun tersi lazım. Bendeki dosya 4825 kişinin VCF içeriğinin alt alta dizilip CSV olarak kaydedilmiş hali. Domain ortamında Exchange'e bağlı bir Outlook'tan export edilmiş olabilir.
 
Üst