Если вы знакомы с языками сценариев, я предлагаю вместо этого использовать LotusScript.Он дает вам прямой доступ к объектам Notes, а не к Applescript и API Notes C * .
Вы можете создать агент Notes в почтовом ящике с помощью приложения Notes Designer.Код примерно такой:
Dim s as New NotesSession
Dim db as NotesDatabase
Dim dc as NotesDocumentCollection
Dim doc as NotesDocument
Set db = s.CurrentDatabase
Set dc = db.Search(|Form="Memo"|, Nothing, 0)
Set doc = dc.GetFirstDocument
While Not (doc Is Nothing)
'Process each document here...
Set doc = dc.GetNextDocument(doc)
End While
Вопрос в том, как адреса электронной почты, номера счетов и имена хранятся в теле каждого письма?
Вы можете вытащить весь текст из электронных писем, возможно, в большой текстовый файл, а затем обработать этот с помощью Applescript, если вам это более удобно.
fileNum = Freefile()
pathname = "C:\path\to\file"
Open pathname For Output As fileNum
While Not (doc Is Nothing)
Set rtitem = doc.GetFirstItem( "Body" )
Write #fileNum, rtitem.GetFormattedText(False, 0)
Set doc = dc.GetNextDocument(doc)
End While
Close fileNum
Или вы можете использовать методы NotesRichTextItem для навигации и извлечения определенных данных из тела.Это может быть полезно, возможно, если данные хранятся в таблицах в теле письма, так как методы NotesRichTextItem позволяют найти элемент таблицы и перемещаться по ячейкам (хотя это довольно сложно и может стоить опубликовать второй вопрос).в StackOverflow, чтобы получить помощь в этом).
Если вы хотите получить адрес электронной почты и имена в полях «Кому:» или «От»: вы можете сделать это более просто, открыв свойстваNotesDocument для каждого письма.Поля могут быть извлечены так:
Dim ToEmail as String
Dim FromEmail as String
ToEmail = doc.SendTo(0) 'a document's item properties are zero-based arrays
FromEmail = doc.From(0)