1

SQL クエリに基づいて HTML ファイルを作成するスクリプトを作成しました.... その HTML を電子メールで送信することが必要になりました。私たちの幹部のほとんどはブラックベリーを使用しており、HTML ファイルを本文として送信したいと考えています。WebBrowser を追加し、Web ブラウザにファイルをロードさせてから、以下のコードを使用して送信することで、これを行う方法を見つけました。私が直面している問題は、コードを完全に自動化すると、HTML ドキュメントの一部のみが電子メールで送信されることです。ボタンを追加して電子メール機能を実行させると、正しく送信されます。電子メールを送信する前に HTML が完全に作成されていないことが問題である可能性があると考えて、いくつかの異なる場所に待機機能を追加しました。これを 100% 自動化する必要があります。.HTMLBody を使用して、C: に保存されている実際の HTML ファイルにリンクする方法はありますか (実際のパスは C:\Turnover.html です)。

Public Sub Email() Dim strdate Dim iCfg As Object Dim iMsg As Object

    strdate = Date.Today.TimeOfDay

    iCfg = CreateObject("CDO.Configuration")
    iMsg = CreateObject("CDO.Message")

    With iCfg.Fields
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "xxxxx.com"
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
        .Item("http://schemas.microsoft.com/cdo/configuration/sendemailaddress") = """Turnover Report"" <TurnoverReports@xxxxx.com>"
        .Update()
    End With

    With iMsg
        .Configuration = iCfg
        .Subject = "Turnover Report"
        .To = "xxxxx@xxxxx.com"
        '.Cc = ""

        .HTMLBody = WebBrowserReportView.DocumentText


        .Send()
    End With



    iMsg = Nothing
    iCfg = Nothing


End Sub
4

1 に答える 1

1

以下の関数を使用して、ローカルのhtmlファイルを読み込みました。次に設定します

TextBox2.Text = getHTML("C:\Turnover2.html")

そしてまた

.HTMLBody = TextBox2.Text

Private Function getHTML(ByVal address As String) As String
    Dim rt As String = ""

    Dim wRequest As WebRequest
    Dim wResponse As WebResponse

    Dim SR As StreamReader

    wrequest = WebRequest.Create(address)
    wResponse = wrequest.GetResponse
    SR = New StreamReader(wResponse.GetResponseStream)

    rt = SR.ReadToEnd
    SR.Close()

    Return rt

End Function
于 2012-11-25T18:41:27.977 に答える