OUTLOOK CONTACTS’I XML’E ÇEVİRELİM
Bu makalede Microsoft Outlook’un klasörlerinden “Contacts” daki verilere erişmeyi ve bunları XML’e çevirmeyi göreceğiz. Siz de bu şekilde diğer klasörlere (inbox,outbox,drafts...) ulaşabilirsiniz. Uygulamalarımızda Outlook nesnelerine ulaşmak için: 1. “Project” menüsünden “Add Reference…” 2. COM nesnelerinden “Microsoft Outlook 10.0 Object Library” yi ekleyelim.
Bu kütüphane sayesinde Outlook’un bütün nesnelerine ve özelliklerine erişebiliriz. Aşağıdaki şekilden de Outlook’un nesne yapısının nasıl olduğuna bakalım.
Uygulamamızda bu nesnelere erişim sırasını da numaralandırarak belirttim. Kodlamaya geçmeden oluşturacağımız XML dosyamızın yapısına da bakalım: <OutlookContacts> <contacts> <contact> .... bilgiler .... </contact> </contacts> </OutlookContacts>
Neyi nasıl yapacağımıza ve yaptığımızda ne olacağına karar verdik, şimdi kodumuzu yazalım:
.........
Sub
Try
oNameSpace = oApplication.GetNamespace("MAPI")
folderContacts = oNameSpace.GetDefaultFolder(OlDefaultFolders.olFolderContacts)
xmlw.WriteStartElement("OutlookContacts")
xmlw.WriteStartElement("Contacts")
xmlw.WriteEndElement()
xmlw.Flush()
xmlw.Close()
xml.Load("OutlookContacts.xml")
XContacts.AppendChild(FullName)
FullName.AppendChild(txtFullname)
XContacts.AppendChild(HomeAddress)
HomeAddress.AppendChild(txtHomeAddress)
XContacts.AppendChild(HomeAddressCity)
HomeAddressCity.AppendChild(txtHomeAddressCity)
XContacts.AppendChild(HomeAddressCountry)
HomeAddressCountry.AppendChild(txtHomeAddressCountry)
XContacts.AppendChild(HomeAddressPostalCode)
HomeAddressPostalCode.AppendChild(txtHomeAddressPostalCode)
XContacts.AppendChild(HomeTelephoneNumber)
HomeTelephoneNumber.AppendChild(txtHomeTelephoneNumber)
XContacts.AppendChild(MobileTelephoneNumber)
MobileTelephoneNumber.AppendChild(txtMobileTelephoneNumber)
XContacts.AppendChild(BusinessTelephoneNumber)
BusinessTelephoneNumber.AppendChild(txtBusinessTelephoneNumber)
XContacts.AppendChild(Email1Address)
Email1Address.AppendChild(txtEmail1Address)
XContacts.AppendChild(Email2Address)
Email2Address.AppendChild(txtEmail2Address)
XContacts.AppendChild(Email3Address)
Email3Address.AppendChild(txtEmail3Address)
XContacts.AppendChild(Gender)
Gender.AppendChild(txtGender)
XContacts.AppendChild(PersonalHomePage)
PersonalHomePage.AppendChild(txtPersonalHomePage)
targetNode.AppendChild(XContacts)
xml.Save("OutlookContacts.xml")
TextBox1.Text = rdr.ReadToEnd()
MessageBox.Show("Contacts'taki bilgiler XML'e aktarıldı.", "İşlem tamam...", MessageBoxButtons.OK, MessageBoxIcon.Information)
ds.ReadXml(XMLFileName & ".xml")
dg.DataSource = ds.Tables(1)
MessageBox.Show(ex.Message.ToString, "Hata!", MessageBoxButtons.OK, MessageBoxIcon.Error)
Ben kişi bilgilerinden belli başlı birkaçını aldım tercih sizin; formun load olayında sub’ımızı kullandığımızda karşımıza Outlook’un uyarı ekranı çıkacaktır.
Burdan “Allow access for...” işaretleyelim ve “yes”...
Bu işlemle erişim iznini de verdik, artık sonuca bakalım:
Arkadaşlar bu benim ilk makalem, bu yüzden anlamadığınız yani anlatamadığım bir yer varsa bekliyorum: Kodları İndirmek için Tıklayınız kenanacar@hotmail.com msn: maydo74@hotmail.com KENAN ACAR, MCP