1

私は JavaScript / jQuery にかなり慣れていないので、ここの誰かが次のことを手伝ってくれることを願っています:

Outlook で書式設定された電子メールを準備するために、Excel ファイルで次の VBA コードを使用しています。コードは短く、調整が簡単で、完璧に機能します。電子メールの受信者、件名、および HTML 本文を準備します。

これは VBA で問題なく動作するので、JavaScript/jQuery でも同じことを達成する方法があることを願っています。mailto を試してみました。これは、受信者と件名には機能しますが、代わりにプレーン テキストとして表示される HTML 本文には機能しません。

私のVBAコード(動作中):

Sub Test()
Dim olApp As Object
Dim olOldBody As String

Set olApp = CreateObject("Outlook.Application")

With olApp.CreateItem(0)
    .GetInspector.Display
    olOldBody = .HTMLBody
    .Importance = 2
    .To = "email@company.com"
    .Cc = ""
    .Bcc = ""
    .Subject = "My subject text"
    .HTMLBody = "<span style='font-family: Arial, Helvetica, sans-serif; font-size:11pt; color: #00457C;'>" & _
        "<strong>Title1:</strong>Line1<br />" & _
        "<strong>Title2:</strong>Line2<br />" & _
        "<strong>Title3:</strong>Line3<br /></span>" & olOldBody
    .Display
End With

End Sub

これについて助けてくれてありがとう、ティム

4

1 に答える 1

1

Outlook オブジェクト モデルは COM ベースです。つまり、IE からのみ使用できます。

その場合でも、スクリプトを使用してローカル COM オブジェクトを作成するには、信頼できるサイトからスクリプトを取得する必要がありますnew ActiveXObject()

更新: 次のような JS コードを試してください (私の頭の中で、私は Java プログラマーではありません)。
一般に、2 つの HTML 文字列を連結して有効な HTML 文字列を生成することはできないことに注意してください。2 つをマージする必要があります ("" の位置を探し、その位置に新しい HTML を挿入します)。

var olApp = new ActiveAxObject("Outlook.Application");
    var olItem = olApp.CreateItem(0);
    var olOldBody = olItem.HTMLBody;
    olOldBody.Importance = 2;
    olItem.To = "email@company.com";
    olItem.Cc = "";
    olItem.Bcc = "";
    olItem.Subject = "My subject text";
    olItem.HTMLBody = "<span style='font-family: Arial, Helvetica, sans-serif; font-size:11pt; color: #00457C;'>" +
        "<strong>Title1:</strong>Line1<br />" +
        "<strong>Title2:</strong>Line2<br />" +
        "<strong>Title3:</strong>Line3<br /></span>" + olOldBody;
    olItem.Display();
于 2013-10-20T19:28:26.440 に答える