使用MS Access中的超链接生成电子邮件

时间:2016-01-15 17:03:30

标签: vba ms-access hyperlink ms-access-2010

我尝试在运行特定程序并满足某些条件时从MS Access生成电子邮件,该电子邮件将包含超链接。我发现sendobject宏命令不允许超链接,只允许静态文本。似乎解决方案是编写整个过程的一部分,在VBA中生成并发送电子邮件,并在我的宏中的if函数的相应段中调用该代码。

我无法找出适当的代码来生成和发送,并通过电子邮件发送给个人的超链接。这将是非常简单,单一的接收,不变的标题,并且正文将会阅读“新的提供商需要指定”,请访问提供商指定仪表板以获取提供商名称'理想情况下,提供者指定仪表板将是超链接并指向共享网络空间。

我需要做什么命令来实现这一点,我对VBA缺乏经验,而这正在耗费我相当多的时间。

谢谢

1 个答案:

答案 0 :(得分:2)

使用代码发送电子邮件有一些不同的方法。下面的代码使用Outlook应用程序COM对象生成带有超链接的邮件 - 因此,只有在用户的计算机上安装了MS Outlook时才能使用它。

Sub NewEmail(ByVal mylink As String, ByVal therecipient As String)

    Dim Outlook As Object, Email As Object 
    Set Outlook = CreateObject("Outlook.Application")
    Set Email = Outlook.CreateItem(0) 'olMailItem = 0

    With Email
        .Subject = "My Subject" 'message subject
        .HTMLBody = "Greetings, please check this link: <a href='" & mylink & "'>Click me</a>." 'message body, in html. concatenate multiple strings if you need to
        .To = therecipient   'recipient

        'use this if you want to generate the message and show it to the user
        .Display

        'use this instead if you want the mail to be sent directly
        '.Send

    End With

    Set Email = Nothing
    Set Outlook = Nothing
End Sub

将代码放入模块中。然后,您可以在代码中的任何位置调用该过程,例如:

NewEmail "www.mysite.com/targetpage.html", "persontomail@domain.com"

请注意,上面的例程使用late binding。要使用早期绑定(并获得intellisese,但有一些缺点),您必须添加对Microsoft Outlook XX.X对象库的引用并调暗&#34; Outlook&#34;和&#34;电子邮件&#34;对象分别为Outlook.Application和Outlook.MailItem。