Можно ли добавить кнопку в стандартной программе Access для поиска в Outlook? - PullRequest
2 голосов
/ 19 августа 2011

Есть ли способ сделать кнопку в базе данных доступа, которая автоматически выполняет поиск в Outlook? Моя идея состоит в том, чтобы иметь помимо кнопки электронной почты кнопку, по которой можно щелкнуть, и она откроет Outlook, или перейдет в Outlook, если он открыт, и найдет все элементы по адресу электронной почты клиента?

1 Ответ

2 голосов
/ 20 августа 2011

Ниже приведена подпрограмма VBA, которая принимает строку поиска и выполняет поиск в существующем экземпляре Outlook или создает новый экземпляр для поиска. Протестировано в Office 2010. Стоит добавить настоящий обработчик ошибок, если он будет использоваться другими.

Вам нужно будет сделать ссылку на «Библиотеку объектов Microsoft Outlook 14.0» или любую другую версию, которая у вас есть. Вы можете сделать это в окне VBA через Сервис-> Ссылки.

Если вам нравится, вы можете отобразить результаты поиска в самом Access с помощью метода AdvancedSearch .

Sub outlookSearch(searchString As String)
Dim app As Outlook.Application

'This will throw an error if there's no instances of Outlook running
'   so resume after the error.
On Error Resume Next
Set app = GetObject(, "Outlook.Application")
On Error GoTo 0 'Replace this with a real error handler

'If the app variable is empty
If app Is Nothing Then
    'Create a new instanc eof outlook
    Set app = CreateObject("Outlook.Application")
    'Add an explorer showing the inbox
    app.Explorers.Add app.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
    'Make the explorer visible
    app.Explorers(1).Activate
End If

'Search all folders for searchString
app.ActiveExplorer.search searchString, olSearchScopeAllFolders

Set app = Nothing
End Sub
...