![]() |
![]() |
![]() |
|
Получить адреса эл. почты из outlook | ☑ | ||
---|---|---|---|---|
0
Широкий
13.03.07
✎
16:45
|
Вообщем код..
Соединение=Новый COMОбъект("Outlook.Application"); ПространствоИмен=Соединение.GetNameSpace("MAPI"); АдреснаяКнига=ПространствоИмен.AddressLists("Глобальный список адресов"); КоличествоЗаписей=АдреснаяКнига.AddressEntries.Count(); Для сч=1 По КоличествоЗаписей Цикл ТекЗапись=АдреснаяКнига.AddressEntries(сч); Прервать; КонецЦикла; Застопорился на "ТекЗапись" ... не знаю как выйти на эл. адрес контакта |
|||
1
Salvador Limones
13.03.07
✎
16:50
|
Тормозни отладчиком на ТекЗапись и посмотри.
|
|||
2
MRAK
13.03.07
✎
17:34
|
Email1Address
Email1AddressType Email1DisplayName Email1EntryID Email2Address Email2AddressType Email2DisplayName Email2EntryID Email3Address Email3AddressType Email3DisplayName Email3EntryID |
|||
3
MRAK
13.03.07
✎
17:35
|
Вот кусок кода, как я получал сию хрень:
|
|||
4
MRAK
13.03.07
✎
17:35
|
Для сч = 1 По MyFolder.Items.Count Цикл
ЭлементыФормы.индЗагрузки.Значение = сч; Контакт = ""; MyItem = MyFolder.Items(сч); спрЭлементы = Справочники.ЭлементыOutlook; НайденнаяСсылка = спрЭлементы.НайтиПоРеквизиту("EntryID", MyItem.EntryID); Если НайденнаяСсылка = спрЭлементы.ПустаяСсылка() Тогда Сообщить("Создаем " + ЭлементыФормы.ПапкаOutlook.Значение.Наименование + " """ + MyItem.Subject + """"); // Для всех объектов НовыйОбъект = спрЭлементы.СоздатьЭлемент(); НовыйОбъект.BillingInformation = MyItem.BillingInformation; НовыйОбъект.Body = MyItem.Body; НовыйОбъект.Categories = MyItem.Categories; НовыйОбъект.Companies = MyItem.Companies; НовыйОбъект.CreationTime = Строка(MyItem.CreationTime); НовыйОбъект.EntryID = MyItem.EntryID; НовыйОбъект.Importance = Строка(MyItem.Importance); НовыйОбъект.LastModificationTime = Строка(MyItem.LastModificationTime); НовыйОбъект.MessageClass = MyItem.MessageClass; НовыйОбъект.Mileage = MyItem.Mileage; НовыйОбъект.NoAging = Строка(MyItem.NoAging); НовыйОбъект.OutlookVersion = MyItem.OutlookVersion; НовыйОбъект.Saved = Строка(MyItem.Saved); НовыйОбъект.Sensitivity = Строка(MyItem.Sensitivity); НовыйОбъект.Size = Строка(MyItem.Size); НовыйОбъект.Subject = MyItem.Subject; НовыйОбъект.UnRead = Строка(MyItem.UnRead); // Только для контактов Если ЭлементыФормы.ПапкаOutlook.Значение.Наименование = "Контакты" Тогда НовыйОбъект.Account = MyItem.Account; НовыйОбъект.Anniversary = Строка(MyItem.Anniversary); НовыйОбъект.AssistantName = MyItem.AssistantName; НовыйОбъект.AssistantTelephoneNumber = MyItem.AssistantTelephoneNumber; НовыйОбъект.Birthday = Строка(MyItem.Birthday); НовыйОбъект.Business2TelephoneNumber = MyItem.Business2TelephoneNumber; НовыйОбъект.BusinessAddress = MyItem.BusinessAddress; НовыйОбъект.BusinessAddressCity = MyItem.BusinessAddressCity; НовыйОбъект.BusinessAddressCountry = MyItem.BusinessAddressCountry; НовыйОбъект.BusinessAddressPostalCode = MyItem.BusinessAddressPostalCode; НовыйОбъект.BusinessAddressPostOfficeBox = MyItem.BusinessAddressPostOfficeBox; НовыйОбъект.BusinessAddressState = MyItem.BusinessAddressState; НовыйОбъект.BusinessAddressStreet = MyItem.BusinessAddressStreet; НовыйОбъект.BusinessFaxNumber = MyItem.BusinessFaxNumber; НовыйОбъект.BusinessHomePage = MyItem.BusinessHomePage; НовыйОбъект.BusinessTelephoneNumber = MyItem.BusinessTelephoneNumber; НовыйОбъект.CallbackTelephoneNumber = MyItem.CallbackTelephoneNumber; НовыйОбъект.CarTelephoneNumber = MyItem.CarTelephoneNumber; НовыйОбъект.Children = MyItem.Children; НовыйОбъект.CompanyAndFullName = MyItem.CompanyAndFullName; НовыйОбъект.CompanyMainTelephoneNumber = MyItem.CompanyMainTelephoneNumber; НовыйОбъект.CompanyName = MyItem.CompanyName; НовыйОбъект.ComputerNetworkName = MyItem.ComputerNetworkName; НовыйОбъект.CustomerID = MyItem.CustomerID; НовыйОбъект.Department = MyItem.Department; НовыйОбъект.Email1Address = MyItem.Email1Address; НовыйОбъект.Email1AddressType = MyItem.Email1AddressType; НовыйОбъект.Email1DisplayName = MyItem.Email1DisplayName; НовыйОбъект.Email1EntryID = MyItem.Email1EntryID; НовыйОбъект.Email2Address = MyItem.Email2Address; НовыйОбъект.Email2AddressType = MyItem.Email2AddressType; НовыйОбъект.Email2DisplayName = MyItem.Email2DisplayName; НовыйОбъект.Email2EntryID = MyItem.Email2EntryID; НовыйОбъект.Email3Address = MyItem.Email3Address; НовыйОбъект.Email3AddressType = MyItem.Email3AddressType; НовыйОбъект.Email3DisplayName = MyItem.Email3DisplayName; НовыйОбъект.Email3EntryID = MyItem.Email3EntryID; НовыйОбъект.FileAs = MyItem.FileAs; НовыйОбъект.FirstName = MyItem.FirstName; НовыйОбъект.FTPSite = MyItem.FTPSite; НовыйОбъект.FullName = MyItem.FullName; НовыйОбъект.FullNameAndCompany = MyItem.FullNameAndCompany; НовыйОбъект.Gender = Строка(MyItem.Gender); НовыйОбъект.GovernmentIDNumber = MyItem.GovernmentIDNumber; НовыйОбъект.Hobby = MyItem.Hobby; НовыйОбъект.Home2TelephoneNumber = MyItem.Home2TelephoneNumber; НовыйОбъект.HomeAddress = MyItem.HomeAddress; НовыйОбъект.HomeAddressCity = MyItem.HomeAddressCity; НовыйОбъект.HomeAddressCountry = MyItem.HomeAddressCountry; НовыйОбъект.HomeAddressPostalCode = MyItem.HomeAddressPostalCode; НовыйОбъект.HomeAddressPostOfficeBox = MyItem.HomeAddressPostOfficeBox; НовыйОбъект.HomeAddressState = MyItem.HomeAddressState; НовыйОбъект.HomeAddressStreet = MyItem.HomeAddressStreet; НовыйОбъект.HomeFaxNumber = MyItem.HomeFaxNumber; НовыйОбъект.HomeTelephoneNumber = MyItem.HomeTelephoneNumber; НовыйОбъект.Initials = MyItem.Initials; НовыйОбъект.ISDNNumber = MyItem.ISDNNumber; НовыйОбъект.JobTitle = MyItem.JobTitle; НовыйОбъект.Journal = Строка(MyItem.Journal); НовыйОбъект.Language = MyItem.Language; НовыйОбъект.LastName = MyItem.LastName; НовыйОбъект.LastNameAndFirstName = MyItem.LastNameAndFirstName; НовыйОбъект.MailingAddress = MyItem.MailingAddress; НовыйОбъект.MailingAddressCity = MyItem.MailingAddressCity; НовыйОбъект.MailingAddressCountry = MyItem.MailingAddressCountry; НовыйОбъект.MailingAddressPostalCode = MyItem.MailingAddressPostalCode; НовыйОбъект.MailingAddressPostOfficeBox = MyItem.MailingAddressPostOfficeBox; НовыйОбъект.MailingAddressState = MyItem.MailingAddressState; НовыйОбъект.MailingAddressStreet = MyItem.MailingAddressStreet; НовыйОбъект.ManagerName = MyItem.ManagerName; НовыйОбъект.MiddleName = MyItem.MiddleName; НовыйОбъект.MobileTelephoneNumber = MyItem.MobileTelephoneNumber; НовыйОбъект.NickName = MyItem.NickName; НовыйОбъект.OfficeLocation = MyItem.OfficeLocation; НовыйОбъект.OrganizationalIDNumber = MyItem.OrganizationalIDNumber; НовыйОбъект.OtherAddress = MyItem.OtherAddress; НовыйОбъект.OtherAddressCity = MyItem.OtherAddressCity; НовыйОбъект.OtherAddressCountry = MyItem.OtherAddressCountry; НовыйОбъект.OtherAddressPostalCode = MyItem.OtherAddressPostalCode; НовыйОбъект.OtherAddressPostOfficeBox = MyItem.OtherAddressPostOfficeBox; НовыйОбъект.OtherAddressState = MyItem.OtherAddressState; НовыйОбъект.OtherAddressStreet = MyItem.OtherAddressStreet; НовыйОбъект.OtherFaxNumber = MyItem.OtherFaxNumber; НовыйОбъект.OtherTelephoneNumber = MyItem.OtherTelephoneNumber; НовыйОбъект.PagerNumber = MyItem.PagerNumber; НовыйОбъект.PersonalHomePage = MyItem.PersonalHomePage; НовыйОбъект.PrimaryTelephoneNumber = MyItem.PrimaryTelephoneNumber; НовыйОбъект.Profession = MyItem.Profession; НовыйОбъект.RadioTelephoneNumber = MyItem.RadioTelephoneNumber; НовыйОбъект.ReferredBy = MyItem.ReferredBy; НовыйОбъект.SelectedMailingAddress = Строка(MyItem.SelectedMailingAddress); НовыйОбъект.Spouse = MyItem.Spouse; НовыйОбъект.Suffix = MyItem.Suffix; НовыйОбъект.TelexNumber = MyItem.TelexNumber; НовыйОбъект.Title = MyItem.Title; НовыйОбъект.TTYTDDTelephoneNumber = MyItem.TTYTDDTelephoneNumber; НовыйОбъект.User1 = MyItem.User1; НовыйОбъект.User2 = MyItem.User2; НовыйОбъект.User3 = MyItem.User3; НовыйОбъект.User4 = MyItem.User4; НовыйОбъект.UserCertificate = MyItem.UserCertificate; НовыйОбъект.WebPage = MyItem.WebPage; КонецЕсли; НовыйОбъект.Записать(); Иначе Сообщить(ЭлементыФормы.ПапкаOutlook.Значение.Наименование + " """ + MyItem.Subject + """ уже существует"); КонецЕсли; ОбработкаПрерыванияПользователя(); КонецЦикла; |
|||
5
mikecool
13.03.07
✎
17:37
|
(4) афигеть... а перечисление полей можно циклом по реквизитам заменить?
|
|||
6
MRAK
13.03.07
✎
17:53
|
можно. я специально такой код сделал, чтобы показать все эти реквизиты
|
|||
7
MRAK
13.03.07
✎
17:59
|
+(6) Тем более, без цикла по реквизитам бысрее работает. а я базу огромную конвертил
|
|||
8
smaharbA
13.03.07
✎
18:30
|
Так пойдет ? Или именно адресная книга волнует ? |
|||
9
Широкий
14.03.07
✎
11:08
|
У меня немного другая ситуация
"ПространствоИмен.GetDefaultFolder(10)" - папка контактов ... но у меня она пустая Адреса эл.почты проставляется из какого то списка "Глобальный список адресов" т.е. через "ПространствоИмен.AddressLists("Глобальный список адресов");" Возможно это как то завязано на Microsoft Exchange Server... В моем исходном коде у переменной "ТекЗапись" есть поле "Address" вида "/o=Harmony/ou=First Administrative Group/cn=Recipients/cn=sommelier" - последнее слово и есть адрес... Я это строку разбираю и получаю мыло.. В двух словах разобрался... спасибо всем, кто откликнулся |
|||
10
Pooh
14.03.07
✎
11:38
|
а для семерки такой же код будет ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |