Как я могу указать адрес для ответа без указания базы данных в заметках лотоса через Excel VBA? - PullRequest
0 голосов
/ 28 октября 2011

У меня есть код для отправки электронного письма через Lotus Notes 7. Он хорошо работает.Из того, что я видел, есть два способа сделать это, и только один из них требует, чтобы вы указали базу данных.Я использую метод, который не требует этого, потому что несколько человек будут использовать этот код, и большинство из них не знает, как изменить или прочитать VB.

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

Заранее спасибо,

Аарон.

Sub Email_Atrack_Report(SubjectLine As String, _ 
    AgentOracle As String, TMAddress As String)

    Dim NSession As Object
    Dim NUIWorkSpace As Object
    Dim NDoc As Object
    Dim NUIdoc As Object


    Set NSession = CreateObject("Notes.NotesSession")
    Set NUIWorkSpace = CreateObject("Notes.NotesUIWorkspace")

    Set NDoc = NUIWorkSpace.ComposeDocument("", "", "Memo")
    Set NUIdoc = NUIWorkSpace.CURRENTDOCUMENT

    With NUIdoc
        .FieldSetText "EnterSendTo", AgentOracle & "@Company.com"
        .FieldSetText "EnterCopyTo", TMAddress

        .FieldSetText "Subject", SubjectLine
        .FieldSetText "Body", "**PASTE Atrack HERE**"


        .GotoField ("Body")
        .FINDSTRING "**PASTE Atrack HERE**"
        Sheets("EmailOutput").Range("MessageBody").Copy
        .Paste
        .send
        .Close
    End With

    Set NUIdoc = Nothing
    Set NDoc = Nothing
    Set NUIWorkSpace = Nothing
    Set NSession = Nothing

End Sub

Ответы [ 3 ]

1 голос
/ 29 октября 2011

Существует два способа решения этой проблемы: создание документа и использование метода отправки или копирование документа в mail.box.

Хороший способ начать - прочитать эту запись в блоге Джейка Хоулетта

Это элементы, которые можно использовать по электронной почте:

Principal
iNetFrom
DisplaySent
ErrorsTo
ReplyTo
CopyTo
BlindCopyTo
SendTo
1 голос
/ 28 октября 2011

Вы можете использовать поле Principal , чтобы указать адрес, который будет отображаться как адрес «От». Я не верю, что есть способ установить это с помощью NotesUIDocument , но вы должны иметь возможность получить почтовую базу данных, используя метод NotesDatabase.OpenMail .

Set session = CreateObject("Notes.NotesSession")
Set maildb = session.getDatabase("", "")

Call maildb.OpenMail
If Not maildb.IsOpen Then Call maildb.Open("", "")

Set maildoc = maildb.createdocument

Set body = maildoc.createrichtextitem("body")
Call body.AppendText( Sheets("EmailOutput").Range("MessageBody").Text )

Call maildoc.replaceitemvalue("form", "memo")
Call maildoc.replaceitemvalue("subject", subject)
Call maildoc.replaceitemvalue("principal", "reply-to-this-user")
Call maildoc.send(false,recipient)
0 голосов
/ 28 октября 2011

Вам просто нужно установить пункт «ReplyTo» в документе, как в:

.FieldSetText "ReplyTo", "address@company.com"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...