Excel、VBA、电子邮件问题。需要新邮件项目在创建后移至工作表前面,并在选择联系人后发送

问题描述 投票:0回答:1

如果有人知道自己在做什么,我将非常感激,因为我肯定不知道:)。 TIA

尝试从这段代码中获得更多信息。它会创建一封新的 Outlook 电子邮件,并在所需的 Outlook 配置文件中添加附件。它会将其留在发件箱中,而无需打开 Outlook。喜欢那个,但是...

新电子邮件(等待用户点击“收件人:”按钮并从 Outlook 联系人中选择收件人)在工作表后面打开,使得用户必须单击任务栏上的 Outlook 图标才能看到它,这似乎有点不专业另外,如果用户选择联系人并点击“发送”后,它实际上会发送该联系人,而无需打开 Outlook、选择个人资料并执行“发送/接收”,那就太好了

Set OL = CreateObject("Outlook.Application")
Set ObjNS = OL.getNamespace("MAPI")
    ObjNS.Logon ("ABA")
Set MailSendItem = OL.CreateItem(0)

With MailSendItem
    .Subject = "Bid Proposal for: " + v_Subject
    .Body = strBody
    .Attachments.Add ("V:\\zSystem\\Bid PDF" & v_pdfFile & "")
    .Display
End With

MailSendItem 被隐藏在 Excel 工作表后面且无法查看。

excel vba email outlook
1个回答
0
投票

要在 Outlook 中打开模式窗口,您需要将

true
传递给
Display
方法:

Set OL = CreateObject("Outlook.Application")
Set ObjNS = OL.getNamespace("MAPI")
    ObjNS.Logon ("ABA")
Set MailSendItem = OL.CreateItem(0)

With MailSendItem
    .Subject = "Bid Proposal for: " + v_Subject
    .Body = strBody
    .Attachments.Add ("V:\\zSystem\\Bid PDF" & v_pdfFile & "")
    .Display
End With

要激活资源管理器或检查器窗口,如果需要,您还可以使用

Activate
方法。

© www.soinside.com 2019 - 2024. All rights reserved.