В Notes есть два "родительских" класса, от которых все происходит. NotesUIWorkspace — это класс для «внешнего интерфейса»: он содержит все, что вы ВИДИТЕ в клиенте. NotesSession — это класс для серверной части. NotesDatabase — это базовый класс. Чтобы правильно получить свою базу данных, вам нужно использовать NotesSession:
Set ses = CreateObject("Notes.NotesSession")
Set db = ses.GetDatabase(serverName, dbname)
Вы перепутали интеграцию COM и OLE. То, что вы пытались использовать (Lotus.NotesSession), предназначено только для COM, и вам нужно включить Notes в свой проект, чтобы использовать это.
Чтобы ваш пример работал, вам необходимо использовать интеграцию OLE: Notes.NotesSession
Теперь к вашему "Поиск"- Код:
Существует два разных способа поиска в базе данных Notes:
Есть полнотекстовый поиск и "обычный" поиск.
Полнотекстовый поиск просто ищет ваше значение повсюду во всех документах и возвращает коллекцию. Поиск «Tom» в почтовом файле найдет все письма / записи календаря, где:
- прислал Том
- получено Томом
- иметь слово "Том" в теме или теле или вложении почты.
Синтаксис для FTSearch:
Set doccol = db.FTSearch( YourSearchValue )
Вы можете ограничить поиск одним определенным полем, используя специальный синтаксис для поиска. например. чтобы искать только в поле "От", вы можете написать
[From] = "YourSearchValue"
В FTSearch "=" всегда означает "содержит"
обычный поиск использует формулу (в синтаксисе @Formula-) для поиска документа. Ему нужен правильный синтаксис, иначе он ничего не найдет. Формула для поиска всех документов, исходящих от «Тома», будет следующей:
@Contains( From ; "Tom" )
Синтаксис поиска:
Set doccol = db.Search( YourQueryAsExampleAbove, Nothing, 0 )
With Nothing = Cutoffdate (если заданы только возвращаемые документы, созданные или измененные после указанной даты) и 0 = макс. количество возвращаемых документов (0 = вернуть все).
Таким образом, ваш пример кода для может быть примерно таким:
strQuery = "FieldToSearch = " & Sheets("sheet1").Range("A1").Value
Set doccol = db.Search( strQuery, Nothing, 0 )
person
Torsten Link
schedule
28.01.2019