Отправка Писем Из Ms Office

Тема в разделе "Lotus - Программирование", создана пользователем s106, 28 июн 2012.

Статус темы:
Закрыта.
  1. s106

    s106 Гость

    Помогите разобраться со следующей ситуацией.
    Возникла необходимость организовать рассылку писем в Lotus Notes средствами MS Office (из Excel). Насколько я понял, делаться это должно примерно такой процедурой на VBA :

    Set Session = CreateObject("Lotus.NotesSession")
    Call Session.Initialize("пароль")
    Set Maildb = Session.GETDATABASE("", "C:\Program Files\lotus\notes\data\bookmark.nsf")
    If Not Maildb.IsOpen = True Then
    Call Maildb.Open
    End If
    Set MailDoc = Maildb.CREATEDOCUMENT
    Call MailDoc.ReplaceItemValue("Form", "Memo")
    Call MailDoc.ReplaceItemValue("SendTo", "адрес")
    Call MailDoc.ReplaceItemValue("CopyTo", "адрес")
    Call MailDoc.ReplaceItemValue("BlindCopyTo", "адрес")
    Set Body = MailDoc.CREATERICHTEXTITEM("Body")
    Call Body.APPENDTEXT("текст письма")
    Call Body.ADDNEWLINE(2)
    Call Body.EMBEDOBJECT(1454, "", "файл вложения")
    MailDoc.SAVEMESSAGEONSEND = True
    Call MailDoc.ReplaceItemValue("PostedDate", Now())
    Call MailDoc.SEND(True)
    Set MailDoc = Nothing
    Set Body = Nothing
    Set Maildb = Nothing
    Set Session = Nothing

    Сколько смотрел, везде советуют делать примерно так, однако у меня почему-то возникают проблемы.
    Письмо в общем-то отправляется, однако текст письма отсутствует. Объект "Body", который по дее должен его содержать, почему-то передает только вложенный файл, а текст письма - не передает.
    Более того, среди отправленных писем в их объектной модели я не смог найти поля, отвечающего за текст письма. Поля "Body" там вообще не было, были только
    Title Site URLIcon URL Form Collaborators SourceForm $UpdatedBy, и ни в одном из них текста не содержалось.
    Версия Lotus Notes стоит 8.5. Может быть, в ней поменялось что-то в структуре писем?
    Знает кто-нибудь, где в Lotus Notes 8.5 содержится текст письма? И есть ли где - нибудь описание документа Lotus Notes 8.5 с его полями и методами?
     
  2. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    странный вопрос :eek:
    вам какое описание:
    - на уровне СиАПИ - хелп по СиАПИ и поиск в тырнете (но это врядли вам нужно)
    - на уровне объекта - хэлп дизигнера
    письма - это обычные доки LDN
    поле body - это RichText поле (такой тип), собсно в нём и содержится (обычно) текст письма
     
  3. s106

    s106 Гость

    Ну дело-то в том, что на моем компьютере, как и на прочих тут, дизигнера этого нету... Насколько понимаю, его надо отдельно устанавливать... И я даже не знаю, можно ли его так вот например скачать и поставить в дополнение к клиентской части?
    Поэтому хэлп от него найти бы - уже хорошо. В сети видел что-то похожее от 5-й версии, 8.5 не находил...

    Собственно говоря, так везде и пишут, но почему-то найти его у меня не получается.
    Получаю, например, документ (отправленное письмо):

    Set Collection = Maildb.AllDocuments
    Set docB = Collection.GetnthDocument(i)

    Смотрю у него там поля (Items), они какие-то такие:

    Title Site URLIcon URL Form Collaborators SourceForm $UpdatedBy

    А Body среди них почему-то нету, и где там в них текст письма спрятан, тоже непонятно... Соответственно, когда создаю этот Body, как выше написал, то текст в нем все равно не передается, хотя вложенный файл передается. Не могу понять, в чем дело-то...
     
  4. dimat

    dimat Lotus team
    Lotus team

    Регистрация:
    31 июл 2008
    Сообщения:
    518
    Симпатии:
    0
  5. s106

    s106 Гость

    Спасибо большое за ссылку.

    Вопросы же остаются...
    Там, к примеру, написано:

    1.This example prints the name of every item in a document. For example, if the document contains five items, the script might print "From," "SendTo," "Subject," "Body," and "DeliveredDate."

    Замечательно, кабы оно так и у меня отображалось, однако вижу у себя другое (см.выше)

    Може ли быть, что из редактора Excel VBA как-то все криво видно? Может, прописать там надо в references что-то? Или необходимо Designer установить?

    Я Lotus этот неделю назад впервые увидел, поэтому могу какие-то вещи там примитивные не знать, прошу уж извинить... Раньше Outlook'ом пользовался, там все понятно было...
     
  6. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Попробуй Call Body.Update() перед отправкой сделать.
     
  7. Мыш

    Мыш Lotus team
    Lotus team

    Регистрация:
    12 фев 2008
    Сообщения:
    1.021
    Симпатии:
    8
    Попробуйте с False. Или Вам форма в док-те принципиально необходима?
    PS. Попробовал Ваш скрипт из VBS-файла - с send(False) и созданием письма не в bookmark.nsf, а в почтовой базе пользователя (правда, в варианте с False, полагаю, это непринципиально). Все работает нормуль - и текст, и файл на месте. И поля все тоже.
    PPS. В bookmark.nsf нет формы Memo - так что пробуйте с False. :eek:
     
  8. s106

    s106 Гость

    Мыш, спасибо большое!

    С False действительно все работает. В общем-то так и думал, что где-то что-то не то по незнанию поставил... Ну ладно, дальше, думаю, разберусь...
     
Загрузка...
Похожие Темы - Отправка Писем Из
  1. erdi
    Ответов:
    3
    Просмотров:
    1.387
  2. k85
    Ответов:
    4
    Просмотров:
    111
  3. k85
    Ответов:
    10
    Просмотров:
    883
  4. motogarri
    Ответов:
    4
    Просмотров:
    794
  5. JohnLemon
    Ответов:
    18
    Просмотров:
    1.580
Статус темы:
Закрыта.

Поделиться этой страницей