不知哪有相關參考資料..謝謝...
sorry...用程式就不應該手動..而是自動..打錯..^^!!
匯入數位憑證?如果不介意 shell 的話,參考 msdn:Signing and Checking Code with Authenticode
謝謝前輩的指點...不過小弟這段目前應該還沒什麼問題(小弟是將存好在資料庫裡的東西匯過去而已)..所以不知如何能存在outlook連絡人及連絡人裡面的憑證....請問哪有outlook這部份的相關範例呢
鳴~~又來求救了.....目前透過MAPI能讀出內容且也能寫入資料...但關於UserCertificate這個憑證屬性...讀出是十六進位值..但去Outlook連絡人中手動先刪除..然後再把這十六進位值寫進去....在save時不會出錯..但卻也存不進去......搞了好久都搞不出所以然....不知是不是Mapi控制項在save時忘了吧Usercertificate這個屬性忘記儲存了丫...真是的..>< 以下是小弟測試時的程式碼..提供給各位大大看看 Private Sub btnGet_Click() Set NmSpace = oOutlook.GetNamespace("MAPI") NmSpace.Logon "", "", 0, 0 Set ContactsFolder = NmSpace.GetDefaultFolder(olFolderContacts) MsgBox "Count=" & ContactsFolder.Items.Count For i = 1 To ContactsFolder.Items.Count Set oContactItem = ContactsFolder.Items.Item(i) '================BGN======================== Combo1.AddItem "Account=" & oContactItem.Account Combo1.AddItem "Anniversary=" & oContactItem.Anniversary Combo1.AddItem "AssistantName=" & oContactItem.AssistantName Combo1.AddItem "AssistantTelephoneNumber=" & oContactItem.AssistantTelephoneNumber Combo1.AddItem "BillingInformation=" & oContactItem.BillingInformation Combo1.AddItem "Birthday=" & oContactItem.Birthday Combo1.AddItem "Body=" & oContactItem.Body Combo1.AddItem "Business2TelephoneNumber=" & oContactItem.Business2TelephoneNumber Combo1.AddItem "BusinessAddress=" & oContactItem.BusinessAddress Combo1.AddItem "BusinessAddressCity=" & oContactItem.BusinessAddressCity Combo1.AddItem "BusinessAddressCountry=" & oContactItem.BusinessAddressCountry Combo1.AddItem "BusinessAddressPostalCode=" & oContactItem.BusinessAddressPostalCode Combo1.AddItem "BusinessAddressPostOfficeBox=" & oContactItem.BusinessAddressPostOfficeBox Combo1.AddItem "BusinessAddressState=" & oContactItem.BusinessAddressState Combo1.AddItem "BusinessAddressStreet=" & oContactItem.BusinessAddressStreet Combo1.AddItem "BusinessFaxNumber=" & oContactItem.BusinessFaxNumber Combo1.AddItem "BusinessHomePage=" & oContactItem.BusinessHomePage Combo1.AddItem "BusinessTelephoneNumber=" & oContactItem.BusinessTelephoneNumber Combo1.AddItem "CallbackTelephoneNumber=" & oContactItem.CallbackTelephoneNumber Combo1.AddItem "CarTelephoneNumber=" & oContactItem.CarTelephoneNumber Combo1.AddItem "Categories=" & oContactItem.Categories Combo1.AddItem "Children=" & oContactItem.Children Combo1.AddItem "Class=" & oContactItem.Class Combo1.AddItem "Companies=" & oContactItem.Companies Combo1.AddItem "CompanyAndFullName=" & oContactItem.CompanyAndFullName Combo1.AddItem "CompanyLastFirstNoSpace=" & oContactItem.CompanyLastFirstNoSpace Combo1.AddItem "CompanyLastFirstSpaceOnly=" & oContactItem.CompanyLastFirstSpaceOnly Combo1.AddItem "CompanyMainTelephoneNumber=" & oContactItem.CompanyMainTelephoneNumber Combo1.AddItem "CompanyName=" & oContactItem.CompanyName Combo1.AddItem "ComputerNetworkName=" & oContactItem.ComputerNetworkName Combo1.AddItem "ConversationIndex=" & oContactItem.ConversationIndex Combo1.AddItem "ConversationTopic=" & oContactItem.ConversationTopic Combo1.AddItem "CreationTime=" & oContactItem.CreationTime Combo1.AddItem "CustomerID=" & oContactItem.CustomerID Combo1.AddItem "Department=" & oContactItem.Department Combo1.AddItem "DownloadState=" & oContactItem.DownloadState Combo1.AddItem "Email1Address=" & oContactItem.Email1Address Combo1.AddItem "Email1AddressType=" & oContactItem.Email1AddressType Combo1.AddItem "Email1DisplayName=" & oContactItem.Email1DisplayName Combo1.AddItem "Email1EntryID=" & oContactItem.Email1EntryID Combo1.AddItem "Email2Address=" & oContactItem.Email2Address Combo1.AddItem "Email2AddressType=" & oContactItem.Email2AddressType Combo1.AddItem "Email2DisplayName=" & oContactItem.Email2DisplayName Combo1.AddItem "Email2EntryID=" & oContactItem.Email2EntryID Combo1.AddItem "Email3Address=" & oContactItem.Email3Address Combo1.AddItem "Email3AddressType=" & oContactItem.Email3AddressType Combo1.AddItem "Email3DisplayName=" & oContactItem.Email3DisplayName Combo1.AddItem "Email3EntryID=" & oContactItem.Email3EntryID Combo1.AddItem "EntryID=" & oContactItem.EntryID Combo1.AddItem "FileAs=" & oContactItem.FileAs Combo1.AddItem "FirstName=" & oContactItem.FirstName 'Combo1.AddItem oContactItem.FormDescription Combo1.AddItem "FTPSite=" & oContactItem.FTPSite Combo1.AddItem "FullName=" & oContactItem.FullName Combo1.AddItem "FullNameAndCompany=" & oContactItem.FullNameAndCompany Combo1.AddItem "Gender=" & oContactItem.Gender 'Combo1.AddItem oContactItem.GetInspector Combo1.AddItem "GovernmentIDNumber=" & oContactItem.GovernmentIDNumber Combo1.AddItem "Hobby=" & oContactItem.Hobby Combo1.AddItem "Home2TelephoneNumber=" & oContactItem.Home2TelephoneNumber Combo1.AddItem "HomeAddress=" & oContactItem.HomeAddress Combo1.AddItem "HomeAddressCity=" & oContactItem.HomeAddressCity Combo1.AddItem "HomeAddressCountry=" & oContactItem.HomeAddressCountry Combo1.AddItem "HomeAddressPostalCode=" & oContactItem.HomeAddressPostalCode Combo1.AddItem "HomeAddressPostOfficeBox=" & oContactItem.HomeAddressPostOfficeBox Combo1.AddItem "HomeAddressState=" & oContactItem.HomeAddressState Combo1.AddItem "HomeAddressStreet=" & oContactItem.HomeAddressStreet Combo1.AddItem "HomeFaxNumber=" & oContactItem.HomeFaxNumber Combo1.AddItem "HomeTelephoneNumber=" & oContactItem.HomeTelephoneNumber Combo1.AddItem "IMAddress=" & oContactItem.IMAddress Combo1.AddItem "Importance=" & oContactItem.Importance Combo1.AddItem "Initials=" & oContactItem.Initials Combo1.AddItem "InternetFreeBusyAddress=" & oContactItem.InternetFreeBusyAddress Combo1.AddItem "IsConflict=" & oContactItem.IsConflict Combo1.AddItem "ISDNNumber=" & oContactItem.ISDNNumber 'Combo1.AddItem oContactItem.ItemProperties Combo1.AddItem "JobTitle=" & oContactItem.JobTitle Combo1.AddItem "Journal=" & oContactItem.Journal Combo1.AddItem "Language=" & oContactItem.Language Combo1.AddItem "LastFirstAndSuffix=" & oContactItem.LastFirstAndSuffix Combo1.AddItem "LastFirstNoSpace=" & oContactItem.LastFirstNoSpace Combo1.AddItem "LastFirstNoSpaceAndSuffix=" & oContactItem.LastFirstNoSpaceAndSuffix Combo1.AddItem "LastFirstNoSpaceCompany=" & oContactItem.LastFirstNoSpaceCompany Combo1.AddItem "LastFirstSpaceOnly=" & oContactItem.LastFirstSpaceOnly Combo1.AddItem "LastFirstSpaceOnlyCompany=" & oContactItem.LastFirstSpaceOnlyCompany Combo1.AddItem "LastModificationTime=" & oContactItem.LastModificationTime Combo1.AddItem "LastName=" & oContactItem.LastName Combo1.AddItem "LastNameAndFirstName=" & oContactItem.LastNameAndFirstName 'Combo1.AddItem oContactItem.Links Combo1.AddItem "MailingAddress=" & oContactItem.MailingAddress Combo1.AddItem "MailingAddressCity=" & oContactItem.MailingAddressCity Combo1.AddItem "MailingAddressCountry=" & oContactItem.MailingAddressCountry Combo1.AddItem "MailingAddressPostalCode=" & oContactItem.MailingAddressPostalCode Combo1.AddItem "MailingAddressPostOfficeBox=" & oContactItem.MailingAddressPostOfficeBox Combo1.AddItem "MailingAddressState=" & oContactItem.MailingAddressState Combo1.AddItem "MailingAddressStreet=" & oContactItem.MailingAddressStreet Combo1.AddItem "ManagerName=" & oContactItem.ManagerName Combo1.AddItem "MarkForDownload=" & oContactItem.MarkForDownload Combo1.AddItem "MessageClass=" & oContactItem.MessageClass Combo1.AddItem "MiddleName=" & oContactItem.MiddleName Combo1.AddItem "Mileage=" & oContactItem.Mileage Combo1.AddItem "MobileTelephoneNumber=" & oContactItem.MobileTelephoneNumber Combo1.AddItem "NetMeetingAlias=" & oContactItem.NetMeetingAlias Combo1.AddItem "NetMeetingServer=" & oContactItem.NetMeetingServer Combo1.AddItem "NickName=" & oContactItem.NickName Combo1.AddItem "NoAging=" & oContactItem.NoAging Combo1.AddItem "OfficeLocation=" & oContactItem.OfficeLocation Combo1.AddItem "OrganizationalIDNumber=" & oContactItem.OrganizationalIDNumber Combo1.AddItem "OtherAddress=" & oContactItem.OtherAddress Combo1.AddItem "OtherAddressCity=" & oContactItem.OtherAddressCity Combo1.AddItem "OtherAddressCountry=" & oContactItem.OtherAddressCountry Combo1.AddItem "OtherAddressPostalCode=" & oContactItem.OtherAddressPostalCode Combo1.AddItem "OtherAddressPostOfficeBox=" & oContactItem.OtherAddressPostOfficeBox Combo1.AddItem "OtherAddressState=" & oContactItem.OtherAddressState Combo1.AddItem "OtherAddressStreet=" & oContactItem.OtherAddressStreet Combo1.AddItem "OtherFaxNumber=" & oContactItem.OtherFaxNumber Combo1.AddItem "OtherTelephoneNumber=" & oContactItem.OtherTelephoneNumber Combo1.AddItem "OutlookInternalVersion=" & oContactItem.OutlookInternalVersion Combo1.AddItem "OutlookVersion=" & oContactItem.OutlookVersion Combo1.AddItem "PagerNumber=" & oContactItem.PagerNumber Combo1.AddItem "Parent=" & oContactItem.Parent Combo1.AddItem "PersonalHomePage=" & oContactItem.PersonalHomePage Combo1.AddItem "PrimaryTelephoneNumber=" & oContactItem.PrimaryTelephoneNumber Combo1.AddItem "Profession=" & oContactItem.Profession Combo1.AddItem "RadioTelephoneNumber=" & oContactItem.RadioTelephoneNumber Combo1.AddItem "ReferredBy=" & oContactItem.ReferredBy Combo1.AddItem "Saved=" & oContactItem.Saved Combo1.AddItem "SelectedMailingAddress=" & oContactItem.SelectedMailingAddress Combo1.AddItem "Sensitivity=" & oContactItem.Sensitivity 'Combo1.AddItem oContactItem.Session. Combo1.AddItem "Size=" & oContactItem.Size Combo1.AddItem "Spouse=" & oContactItem.Spouse Combo1.AddItem "Subject=" & oContactItem.Subject Combo1.AddItem "Suffix=" & oContactItem.Suffix Combo1.AddItem "TelexNumber=" & oContactItem.TelexNumber Combo1.AddItem "Title=" & oContactItem.Title Combo1.AddItem "TTYTDDTelephoneNumber=" & oContactItem.TTYTDDTelephoneNumber Combo1.AddItem "UnRead=" & oContactItem.UnRead Combo1.AddItem "User1=" & oContactItem.User1 Combo1.AddItem "User2=" & oContactItem.User2 Combo1.AddItem "User3=" & oContactItem.User3 Combo1.AddItem "User4=" & oContactItem.User4 Combo1.AddItem "UserCertificate=" & oContactItem.UserCertificate 'Combo1.AddItem oContactItem.UserProperties Combo1.AddItem "WebPage=" & oContactItem.WebPage Combo1.AddItem "YomiCompanyName=" & oContactItem.YomiCompanyName Combo1.AddItem "YomiFirstName=" & oContactItem.YomiFirstName Combo1.AddItem "YomiLastName=" & oContactItem.YomiLastName '==============END================================== '==============BGN================================== Combo2.AddItem oContactItem.Account Combo2.AddItem oContactItem.Anniversary Combo2.AddItem oContactItem.AssistantName Combo2.AddItem oContactItem.AssistantTelephoneNumber Combo2.AddItem oContactItem.BillingInformation Combo2.AddItem oContactItem.Birthday Combo2.AddItem oContactItem.Body Combo2.AddItem oContactItem.Business2TelephoneNumber Combo2.AddItem oContactItem.BusinessAddress Combo2.AddItem oContactItem.BusinessAddressCity Combo2.AddItem oContactItem.BusinessAddressCountry Combo2.AddItem oContactItem.BusinessAddressPostalCode Combo2.AddItem oContactItem.BusinessAddressPostOfficeBox Combo2.AddItem oContactItem.BusinessAddressState Combo2.AddItem oContactItem.BusinessAddressStreet Combo2.AddItem oContactItem.BusinessFaxNumber Combo2.AddItem oContactItem.BusinessHomePage Combo2.AddItem oContactItem.BusinessTelephoneNumber Combo2.AddItem oContactItem.CallbackTelephoneNumber Combo2.AddItem oContactItem.CarTelephoneNumber Combo2.AddItem oContactItem.Categories Combo2.AddItem oContactItem.Children Combo2.AddItem oContactItem.Class Combo2.AddItem oContactItem.Companies Combo2.AddItem oContactItem.CompanyAndFullName Combo2.AddItem oContactItem.CompanyLastFirstNoSpace Combo2.AddItem oContactItem.CompanyLastFirstSpaceOnly Combo2.AddItem oContactItem.CompanyMainTelephoneNumber Combo2.AddItem oContactItem.CompanyName Combo2.AddItem oContactItem.ComputerNetworkName Combo2.AddItem oContactItem.ConversationIndex Combo2.AddItem oContactItem.ConversationTopic Combo2.AddItem oContactItem.CreationTime Combo2.AddItem oContactItem.CustomerID Combo2.AddItem oContactItem.Department Combo2.AddItem oContactItem.DownloadState Combo2.AddItem oContactItem.Email1Address Combo2.AddItem oContactItem.Email1AddressType Combo2.AddItem oContactItem.Email1DisplayName Combo2.AddItem oContactItem.Email1EntryID Combo2.AddItem oContactItem.Email2Address Combo2.AddItem oContactItem.Email2AddressType Combo2.AddItem oContactItem.Email2DisplayName Combo2.AddItem oContactItem.Email2EntryID Combo2.AddItem oContactItem.Email3Address Combo2.AddItem oContactItem.Email3AddressType Combo2.AddItem oContactItem.Email3DisplayName Combo2.AddItem oContactItem.Email3EntryID Combo2.AddItem oContactItem.EntryID Combo2.AddItem oContactItem.FileAs Combo2.AddItem oContactItem.FirstName 'Combo1.AddItem oContactItem.FormDescription Combo2.AddItem oContactItem.FTPSite Combo2.AddItem oContactItem.FullName Combo2.AddItem oContactItem.FullNameAndCompany Combo2.AddItem oContactItem.Gender 'Combo1.AddItem oContactItem.GetInspector Combo2.AddItem oContactItem.GovernmentIDNumber Combo2.AddItem oContactItem.Hobby Combo2.AddItem oContactItem.Home2TelephoneNumber Combo2.AddItem oContactItem.HomeAddress Combo2.AddItem oContactItem.HomeAddressCity Combo2.AddItem oContactItem.HomeAddressCountry Combo2.AddItem oContactItem.HomeAddressPostalCode Combo2.AddItem oContactItem.HomeAddressPostOfficeBox Combo2.AddItem oContactItem.HomeAddressState Combo2.AddItem oContactItem.HomeAddressStreet Combo2.AddItem oContactItem.HomeFaxNumber Combo2.AddItem oContactItem.HomeTelephoneNumber Combo2.AddItem oContactItem.IMAddress Combo2.AddItem oContactItem.Importance Combo2.AddItem oContactItem.Initials Combo2.AddItem oContactItem.InternetFreeBusyAddress Combo2.AddItem oContactItem.IsConflict Combo2.AddItem oContactItem.ISDNNumber 'Combo1.AddItem oContactItem.ItemProperties Combo2.AddItem oContactItem.JobTitle Combo2.AddItem oContactItem.Journal Combo2.AddItem oContactItem.Language Combo2.AddItem oContactItem.LastFirstAndSuffix Combo2.AddItem oContactItem.LastFirstNoSpace Combo2.AddItem oContactItem.LastFirstNoSpaceAndSuffix Combo2.AddItem oContactItem.LastFirstNoSpaceCompany Combo2.AddItem oContactItem.LastFirstSpaceOnly Combo2.AddItem oContactItem.LastFirstSpaceOnlyCompany Combo2.AddItem oContactItem.LastModificationTime Combo2.AddItem oContactItem.LastName Combo2.AddItem oContactItem.LastNameAndFirstName 'Combo1.AddItem oContactItem.Links Combo2.AddItem oContactItem.MailingAddress Combo2.AddItem oContactItem.MailingAddressCity Combo2.AddItem oContactItem.MailingAddressCountry Combo2.AddItem oContactItem.MailingAddressPostalCode Combo2.AddItem oContactItem.MailingAddressPostOfficeBox Combo2.AddItem oContactItem.MailingAddressState Combo2.AddItem oContactItem.MailingAddressStreet Combo2.AddItem oContactItem.ManagerName Combo2.AddItem oContactItem.MarkForDownload Combo2.AddItem oContactItem.MessageClass Combo2.AddItem oContactItem.MiddleName Combo2.AddItem oContactItem.Mileage Combo2.AddItem oContactItem.MobileTelephoneNumber Combo2.AddItem oContactItem.NetMeetingAlias Combo2.AddItem oContactItem.NetMeetingServer Combo2.AddItem oContactItem.NickName Combo2.AddItem oContactItem.NoAging Combo2.AddItem oContactItem.OfficeLocation Combo2.AddItem oContactItem.OrganizationalIDNumber Combo2.AddItem oContactItem.OtherAddress Combo2.AddItem oContactItem.OtherAddressCity Combo2.AddItem oContactItem.OtherAddressCountry Combo2.AddItem oContactItem.OtherAddressPostalCode Combo2.AddItem oContactItem.OtherAddressPostOfficeBox Combo2.AddItem oContactItem.OtherAddressState Combo2.AddItem oContactItem.OtherAddressStreet Combo2.AddItem oContactItem.OtherFaxNumber Combo2.AddItem oContactItem.OtherTelephoneNumber Combo2.AddItem oContactItem.OutlookInternalVersion Combo2.AddItem oContactItem.OutlookVersion Combo2.AddItem oContactItem.PagerNumber Combo2.AddItem oContactItem.Parent Combo2.AddItem oContactItem.PersonalHomePage Combo2.AddItem oContactItem.PrimaryTelephoneNumber Combo2.AddItem oContactItem.Profession Combo2.AddItem oContactItem.RadioTelephoneNumber Combo2.AddItem oContactItem.ReferredBy Combo2.AddItem oContactItem.Saved Combo2.AddItem oContactItem.SelectedMailingAddress Combo2.AddItem oContactItem.Sensitivity 'Combo1.AddItem oContactItem.Session. Combo2.AddItem oContactItem.Size Combo2.AddItem oContactItem.Spouse Combo2.AddItem oContactItem.Subject Combo2.AddItem oContactItem.Suffix Combo2.AddItem oContactItem.TelexNumber Combo2.AddItem oContactItem.Title Combo2.AddItem oContactItem.TTYTDDTelephoneNumber Combo2.AddItem oContactItem.UnRead Combo2.AddItem oContactItem.User1 Combo2.AddItem oContactItem.User2 Combo2.AddItem oContactItem.User3 Combo2.AddItem oContactItem.User4 Combo2.AddItem oContactItem.UserCertificate 'Combo1.AddItem oContactItem.UserProperties Combo2.AddItem oContactItem.WebPage Combo2.AddItem oContactItem.YomiCompanyName Combo2.AddItem oContactItem.YomiFirstName Combo2.AddItem oContactItem.YomiLastName '========================================= Text1.Text = "" For j = 0 To Combo2.ListCount - 1 If Combo2.List(j) <> "" Then Text1.Text = Text1.Text & vbCrLf & Combo1.List(j) Next oContactItem.SaveAs "C:\OutLook2.txt", 0 Next End Sub ***********************************SAVE*********************** Private Sub Command1_Click() Dim oOA As New Outlook.Application Set MyNamespace = oOA.GetNamespace("MAPI") Set MyFolder = MyNamespace.GetDefaultFolder(olFolderContacts) Set MyItem = MyFolder.Items(1) MyItem.UserCertificate = "01000800010000000300E701308201DF3082014CA0030201020205CA00000003300D06092" & _ "A864886F70D0101010500303731123010060355040313096553656375726543413121301F" & _ "06092A864886F70D010901161273616E40657365637572652E636F6D2E7477301E170D303" & _ "2303632373033353031395A170D3132303632373033353031395A3034310F300D06035504" & _ "031E066C5F884D826F3121301F06092A864886F70D010901161273616E406573656375726" & _ "52E636F6D2E747730819F300D06092A864886F70D010101050003818D0030818902818100" & _ "CA028179D5512721C77C97F7D3816A706C33F4ECF2AA10FC3DA2938DD435070D361160484" & _ "CCEF79BB900E8E02DCAAB81D77F435B3F70941B63662E8BDBF705617A87BD4D6B4EF86255" & _ "F4001205FB166F7BBBC4F2DC843ECE310802ED5353E4ED85DE97724B57FCD2B5D4EE9163E" & _ "665A66F06B65EA56BC9EA0960C664D3EF99A50203010001300906052B0E03021D05000381" & _ "8100595469B0F74FA8BA587513C444D3B4776F9EFD7C50E9A6B6155F78A0C1B97DDE51447" & _ "9728D1B7E449A6DF2E04FBC21FCAC78F533155A71FED0D77C066161BE928350652A853421" & _ "CC3295EE9E963A7A1A4CA91CE1F513D305027E34FE98E9DABDFFFBAB1F368B2518C1C27EA" & _ "ACE2F4E3EE6A79411B75613E30325524322163BD406000800010000002000080007000000" & _ "020056003050300E06082A864886F70D030202020080300A06082A864886F70D0205300B0" & _ "609608648016502010104300D06082A864886F70D0302020140300706052B0E030207300D" & _ "06082A864886F70D0302020128" MyItem.Save MsgBox MyItem.Size End Sub
若不行小弟有想到一個方法...現在正在研究中...若前輩知道的話..煩請提點一下..謝謝.. 小弟目前是想說直接去存取記錄位置....看是檔案還是以何種方式儲存..然後直接改裡面內容來儲存... 目前僅想到這麻煩的方法....不過不知是以何種方式記錄..位置在哪裡..煩請先進指教..謝謝...