2017-10-16 21 views
0

私は以下のコードを使用して電子メールを自動生成しています。プレミアム電子メールテンプレートのテキストを置き換える電子メール

Public Function GenerateEmail(sendToText As String, _ 
    sendCCText As String, sendBCCText As String, _ 
    subjectText As String, fileName As String) 

    Application.ScreenUpdating = False 

    Dim OutApp As Object 
    Dim OutMail As Object 

    Set OutApp = CreateObject("Outlook.Application") 
    Set OutMail = OutApp.CreateItemFromTemplate(fileName) 

    With OutMail 
     .sendTo = sendToText 
     .CC = sendCCText 
     .BCC = sendBCCText 
     .Subject = subjectText 
     .HTMLbody = WorksheetFunction.Substitute(OutMail.HTMLbody, "%TESTNUM%", "98541") 
     .Attachments.Add (Application.ActiveWorkbook.FullName) 
     .Display 
    End With 

    On Error GoTo 0 

    Set OutMail = Nothing 
    Set OutApp = Nothing 

    With Application 
     .ScreenUpdating = True 
     .EnableEvents = True 
    End With 

End Function 

私の最終目標は、電子メールにデータを追加し、それにアクティブなドキュメントを添付することです。 .HTLMbodyのセクションを除いて、ここのすべてが意図したとおりに動作しています。それは私にエラーを与えています

"WorksheetFunction クラスの代替プロパティを取得することができません。"

ライブラリへの参照がありません。私は別の何かを使っているべきですか?

メールが.OFT形式として保存されたので、私は、私は98541(または私は関数に渡す必要が他の文字列)と交換しているよ%TESTNUM%を持っている電子メール内の行を持っている

答えて

0

私は非常に似たようなコードを使ってExcelで動作するHTML電子メールを持っています。違いは、テキストを使って一時的な文字列を作成し、その文字列の代わりのコードを実行できることです。 次に簡単に使用することができます: .HTMLbody = temp_string

これはうまくいかないかもしれませんが、問題がどこにあるかを理解するのに役立ちます。

関連する問題