jquery批量创建html对象,关于html:jQuery:创建Outlook电子邮件对象

我对JavaScript / jQuery非常陌生,希望这里的人可以为我提供以下帮助:

我在Excel文件中使用以下VBA代码,以便在Outlook中准备格式化的电子邮件。

该代码简短,易于调整,并且工作完美,包括。 准备电子邮件收件人,主题和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 ="" & _

"Title1:Line1
" & _

"Title2:Line2
" & _

"Title3:Line3
" & olOldBody

.Display

End With

End Sub

蒂姆,谢谢你的帮助

Outlook对象模型基于COM,这意味着只能从IE使用它。

即使这样,您的脚本也必须来自受信任的站点才能使用new ActiveXObject()创建本地COM对象。

更新:尝试使用如下所示的JS代码(我的头顶上,我不是Java程序员)。

请注意,通常您不能连接两个HTML字符串并产生有效的HTML字符串。 您需要将两者合并(查找""的位置,然后在该位置插入新的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 ="" +

"Title1:Line1
" +

"Title2:Line2
" +

"Title3:Line3
" + olOldBody;

olItem.Display();

谢谢,德米特里。 仅与IE一起使用,并且只能从受信任的站点使用。 那我该如何实现呢?

您只需要用JS重写VB代码即可。 参见上面更新的答案

谢谢德米特里。 我试过了,但是什么也没做。 另外,我在这里没有收到错误。

更新:实际上,这很完美-您在第一行中只是遇到类型错误:它应该是ActiveXObject而不是ActiveAxObject。

测试完成-效果很好。 非常感谢您的帮助!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值