Lotus Notes セッションを初期化し、ドキュメントを作成してメールで送信する VBA 関数があります。また、オプションのパラメーターとして、電子メールの本文に追加する NotesRichTextItem も受け入れます。
ただし、「すべてのオブジェクトは同じセッションからのものでなければなりません」というエラー メッセージが表示されます。この NotesRichTextItem をセッションに「インポート」するにはどうすればよいですか?
編集コードが追加されました
Sub SendLotusMail(SubjTxt As String, _
BodyTxt As String, _
EmailTo As String, _
EmailCC As String, _
AutoSend As Boolean, _
Attach As String, _
ReportTitle As String, _
Optional AppendToBody As NotesRichTextItem = Null)
On Error GoTo EH
NtSession.Initialize
OpenMailDb ReportTitle
Set NtDoc = Ntdb.CreateDocument
NtDoc.AppendItemValue "Form", "Memo"
NtDoc.AppendItemValue "SendTo", EmailTo
NtDoc.AppendItemValue "CopyTo", EmailCC
NtDoc.AppendItemValue "Subject", SubjTxt
Set NtBodyRT = NtDoc.CreateRichTextItem("Body")
NtDoc.AppendItemValue "Body", NtBodyRT
If Attach <> "" Then NtBodyRT.EmbedObject EMBED_ATTACHMENT, "", Attach, "Attachment"
NtBodyRT.AppendText BodyTxt
'This next line throws the error "All objects must be from the same session"
NtBodyRT.AppendRTItem AppendToBody
Edit-Solution
は、あまり好きではないことを発見しましたが、RichTextItem オブジェクトをこの関数に渡すことでこれらすべての問題を回避しました。これは親 NotesDocument であり、親の親 NotesSession です。そのため、1 つではなく 3 つのオプション オブジェクトを使用してこのプロシージャを呼び出しています。やったー。
編集-新しい解決策が見つかりまし た 以前の解決策では問題が発生していたので、回避策が見つかるまで (または誰かが提案するまで)、必要なレポートに対してカスタムの電子メール手順を使用します。一部のコードが重複しますが、大幅には重複しません。