2016-11-03 28 views
0

このプログラムを別のワークブックで作成し、複数のオブジェクトをコピーして貼り付け、100人のリストに電子メールで送信しました。私はプログラムの "自動化された電子メールの部分"を取って、しばらくそれを実行しましたが、それは50人のリストに電子メールで約半分の自動化エラーをスローするようです。VBA - オートメーションエラー、サーバー例外が発生しました。ロータスノーツオートメーションコード

エラーコードがある 「実行時エラー '-2147417851(80010105)':。私は私が持っていると信じて

Sub Send_HTML_Email() 

Const ENC_IDENTITY_8BIT = 1729 

'Send Lotus Notes email containing links to files on local computer 

Dim NSession As Object  'NotesSession 
Dim NDatabase As Object  'NotesDatabase 
Dim NStream As Object  'NotesStream 
Dim NDoc As Object   'NotesDocument 
Dim NMIMEBody As Object  'NotesMIMEEntity 
Dim SendTo As String 
Dim subject As String 
Dim HTML As String, HTMLbody As String 
Dim wb As Workbook 
Dim ws As Worksheet 
Dim lstrow As Long, j As Long 
Dim RecpName As String, candiName As String 
Dim a As Hyperlink 

Set wb = ThisWorkbook 
Set ws = wb.Worksheets("Detail") 

' 'Instantiate the Lotus Notes COM's Objects. 


    lstrow = ws.Range("B" & Rows.Count).End(xlUp).Row 

    For j = 3 To lstrow 
RecpName = ws.Cells(j, 2).Text 
candiName = ws.Cells(j, 1).Text 

SendTo = RecpName 
subject = wb.Worksheets("Email Settings").Range("B1").Text 
Debug.Print subject 

Set NSession = CreateObject("Notes.NotesSession")  'using Lotus Notes Automation Classes (OLE) 
Set NDatabase = NSession.GetDatabase("", "") 

If Not NDatabase.IsOpen Then NDatabase.OPENMAIL 

Set NStream = NSession.CreateStream 

HTMLbody = "<p>" & "Hi " & ws.Cells(j, 2).Text & "," & "</p>" & _ 
    vbCrLf & _ 
    "<p>" & Sheets("Email Settings").Cells(2, 2).Text & vbCrLf & _ 
     Sheets("Detail").Cells(j, 1).Text & "</p>" & vbCrLf & _ 
    "<p>" & Sheets("Email Settings").Cells(3, 2).Text & _ 
    "<br>" & Sheets("Email Settings").Cells(4, 2).Text & _ 
     "<br>" & Sheets("Email Settings").Cells(5, 2).Text & _ 
     "<br>" & Sheets("Email Settings").Cells(6, 2).Text & "</p>" & _ 
     "<p>" & Sheets("Email Settings").Cells(9, 2).Text & _ 
     "<br>" & Sheets("Email Settings").Cells(10, 2).Text & _ 
     "<br>" & Sheets("Email Settings").Cells(11, 2).Text & _ 
     "<br>" & Sheets("Email Settings").Cells(12, 2).Text & _ 
     "<br>" & Sheets("Email Settings").Cells(13, 2).Text & _ 
     "<br>" & Sheets("Email Settings").Cells(14, 2).Text & _ 
     "<br>" & Sheets("Email Settings").Cells(15, 2).Text & "</p>" 

HTML = "<html>" & vbLf & _ 
     "<head>" & vbLf & _ 
     "<meta http-equiv=""Content-Type"" content=""text/html; charset=UTF-8""/>" & vbLf & _ 
     "</head>" & vbLf & _ 
     "<body>" & vbLf & _ 
     HTMLbody & _ 
     "</body>" & vbLf & _ 
     "</html>" 

NSession.ConvertMime = False  'Don't convert MIME to rich text 

Set NDoc = NDatabase.CreateDocument() 

With NDoc 
    .Form = "Memo" 
    .subject = subject 
    .SendTo = Split(SendTo, ",") 

    Set NMIMEBody = .CreateMIMEEntity 
    NStream.WriteText HTML 
    NMIMEBody.SetContentFromText NStream, "text/html; charset=UTF-8", ENC_IDENTITY_8BIT 

    .Send False 
    .Save True, False, False 
End With 

NSession.ConvertMime = True  'Restore conversion 

Set NDoc = Nothing 
Set NSession = Nothing 
    Next j 
     MsgBox "The e-mail has successfully been created and distributed", vbInformation 
     End Sub 
+0

この問題は決して解決されませんでした。 、私はあなたを終えたこのマクロを実現することは、私のマネージャーのラップトップで何かによってブロックされていました。 – Jaz

答えて

0

: オートメーションエラーがサーバーが例外をスローした。ここ

コードですループの開始前にロータスオブジェクトをインスタンス化し、ループが終了した後にそれらをクリアする必要がありました。愚かな間違い

+0

このVBAコードでどのように進歩したかについてのOPコメントを参照してください、それは完璧に動きましたが、別のラップトップの何かがそれをブロックしていました – Jaz

関連する問題