powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Access и Outlook. Вытащить данные.
4 сообщений из 4, страница 1 из 1
Access и Outlook. Вытащить данные.
    #39841494
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть проблема. Прошу помощи.

Попробую описать проблему. Офис 2010.

Есть получатели (где-то 2000) которым рассылаем анкеты для отчётов. Рассылаем программой через Outlook. Каждому получателю соответствует свой электронный адрес. Получаем письма так же через Outlook. Писем тысячи.
Появилась хотелка, чтобы выбрав адресата в программе Access и нажав на кнопку можно было посмотреть, какие письма отправлены, а какие получены для данного конкретного адресата. Необходимо для работы. Разрешать конфликтные ситуации типа "А Вы нам не посылали..." или "Мы Вам выслали, а Вы..."

Но вот засада. Подключаю в Access папки Outlook Входящие и Отправленные как таблицы
В папке входящие есть два поля. "От" и "Отправитель" причём, содержание их одинаково. и в них может быть или название организации, либо её электронный адрес.
В папке "Отправленные" есть поле "Кому" где так же может находиться или название организации, либо адрес ящика.
Но я могу идентифицировать почту только по электронному адресу. Как его получить?

Можно его вытащить из Outlook при помощи VBA, но это уже будет не то. Надо создать специальную таблицу. Постоянно обновлять в ней данные. А задача многопользовательская. Значит надо как-то отслеживать доступ к этой таблице. Резко падает скорость обработки.

Какие будут идеи?





-------------------------------------------------------------
А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса?
...
Рейтинг: 0 / 0
Access и Outlook. Вытащить данные.
    #39841638
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss, решал задачку по подключению ЯндексДиска при помощи Web-DavAPI (у Митина есть база с этим подключением, очень помогла) (сначала было mail Cloud Storage но все-таки удалось заказчика перевести на более привычное). Диск один, общий, корпоративный - пользователи не могут в него зайти -не имеют права- только запросом через Web-Dav получать документы, виртуального диска на компьютере клиента нет, в может есть (это неважно).
Смысл в том что что обрабатывать почту, закидывать данные на диск, в папку скажем с названием адресата, а дальше народ может просмотреть в любом месте в любой момент, причем можно вытаскивать иконки, для информации (позволяет Webdavapi).
...
Рейтинг: 0 / 0
Access и Outlook. Вытащить данные.
    #39841718
zimkon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Joss,

Так пробовал? 1246834
...
Рейтинг: 0 / 0
Access и Outlook. Вытащить данные.
    #39841736
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для извлечения информации. можно использовать
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
'---------------------------------------------------------------------------------------
' Procedure : Outlook_ExtractMessages
' Author    : Daniel Pineault, CARDA Consultants Inc.
' Website   : http://www.cardaconsultants.com
' Purpose   : Extract E-mail Listing
' Copyright : The following is release as Attribution-ShareAlike 4.0 International
'             (CC BY-SA 4.0) - https://creativecommons.org/licenses/by-sa/4.0/
' Req'd Refs: Uses Late Binding, so none required
'
' Usage:
' ~~~~~~
' Call Outlook_ExtractMessages
'
' Revision History:
' Rev       Date(yyyy/mm/dd)        Description
' **************************************************************************************
' 1         2019-07-15              Initial Release
'---------------------------------------------------------------------------------------
Sub Outlook_ExtractMessages()
    Dim oOutlook              As Object    'Outlook.Application
    Dim oNameSpace            As Object    'Outlook.Namespace
    Dim oFolder               As Object    'Outlook.folder
    Dim oItem                 As Object
    Dim oPrp                  As Object
    Const olFolderInbox = 6
    Const olMail = 43
 
    On Error Resume Next
    Set oOutlook = GetObject(, "Outlook.Application")        'Bind to existing instance of Outlook
    If Err.Number <> 0 Then        'Could not get instance, so create a new one
        Err.Clear
        Set oOutlook = CreateObject("Outlook.Application")
    End If
    On Error GoTo Error_Handler
 
    Set oNameSpace = oOutlook.GetNamespace("MAPI")
    Set oFolder = oNameSpace.GetDefaultFolder(olFolderInbox)
    '    Set oFolder = oOutlook.ActiveExplorer.CurrentFolder    'Process the currently selected folder
    '    Set oFolder = oNameSpace.PickFolder    'Prompt the user to select the folder to process
 
    On Error Resume Next
    For Each oItem In oFolder.Items
        With oItem
            If .Class = olMail Then
                Debug.Print .EntryId, .Subject, .Sender, .SentOn, .ReceivedTime
                For Each oPrp In .ItemProperties
                    Debug.Print , oPrp.Name, oPrp.Value
                Next oPrp
            End If
        End With
    Next oItem
 
Error_Handler_Exit:
    On Error Resume Next
    If Not oPrp Is Nothing Then Set oPrp = Nothing
    If Not oItem Is Nothing Then Set oItem = Nothing
    If Not oFolder Is Nothing Then Set oFolder = Nothing
    If Not oNameSpace Is Nothing Then Set oNameSpace = Nothing
    If Not oOutlook Is Nothing Then Set oOutlook = Nothing
    Exit Sub
 
Error_Handler:
    MsgBox "The following error has occured" & vbCrLf & vbCrLf & _
           "Error Number: " & Err.Number & vbCrLf & _
           "Error Source: Outlook_ExtractMessages" & vbCrLf & _
           "Error Description: " & Err.Description & _
           Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _
           , vbOKOnly + vbCritical, "An Error has Occured!"
    Resume Error_Handler_Exit
End Sub



Всё дело в том, что хочется работать с подключенными таблицами, а не создавать каждый раз новые таблицы считывая информацию.
Здесь три способа определения папки для считывания. Два закомментированы. Можно выбрать любой, какой понравится.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Access и Outlook. Вытащить данные.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]