如何使用 word vba CDO 电子邮件流程将 link 发送到文档?

How do send a link to a document using word vba CDO email process?

有谁知道如何在 word vba 中通过电子邮件将 link 发送到 word 文档?我想使用 gmail 而不是 outlook。我找到了 outlook 的解决方案:

http://www.rondebruin.nl/win/s1/outlook/bmail10.htm

有没有可以修改为使用 gmail 的方法?

我修改了:http://www.rondebruin.nl/win/s1/cdo.htm 以使用 gmail,并且工作正常。我只需要在电子邮件正文中添加一个 link。

您需要使用 htmlBody 属性 而不是 TextBody 并在 HTML.[=13= 中使用 <a> 标签]

我不知道如何发送我的代码...所以我将其作为答案发布。希望没关系。我还收到一个奇怪的 运行 时间错误,这是我以前没有遇到过的。除此之外,它还有效。

谢谢! 丹妮尔

Option Explicit ' 为 dSavage 修改

'如果您有 GMail 帐户,那么您可以尝试使用此示例来使用 GMail smtp 服务器 '该示例将发送一条小文本消息 '您必须更改四行代码才能测试代码

'.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "Full GMail mail address" '.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "GMail password"

'使用你自己的邮件地址来测试这一行的代码 '.To = "Mail address receiver"

'将您的姓名更改为您要使用的发件人姓名 '.From = """YourName"" "

'如果出现此错误:传输无法连接到服务器 '然后尝试将 SMTP 端口从 25 更改为 465

子CDO_Mail_Example() 昏暗的消息作为对象 将 iConf 变暗为对象 将 strbody 调暗为字符串 将 sAddForm 调暗为字符串 将 sForm 调暗为字符串 将 Flds 变暗为变体

Dim iSMTP_Port As Integer
Dim sFirstReviewer  As String
Dim sUserName  As String
Dim sGmailPassword As String

sFirstReviewer = Range("F4").Value
sUserName = Range("F6").Value & "@indicate1.com"
sGmailPassword = Range("F8").Value
iSMTP_Port = Range("F10").Value   '25 at Indicate;  465  away.
sAddForm = Range("I12").Value
'sForm = Range("F4").Value

Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")

如果 sAddForm = "Yes" 那么 表格 = "Z:\Quality# # Document_Development# Documents_for_Review002-01-01 Company Handbook.doc" 别的 表格 = "" 结束如果

Debug.Print "sForm = " & sForm ' *******************************************
Debug.Print "sUserName = " & sUserName ' *******************************************

iConf.Load -1    ' CDO Source Defaults
Set Flds = iConf.Fields
With Flds
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = sUserName
    .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "Micro5cope"
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = iSMTP_Port    '25 at Indicate;  465  away.
    .Update
End With

strbody = "To " & sFirstReviewer & vbNewLine & vbNewLine & _
          "This is line 1" & vbNewLine & _
          "This is line 2" & vbNewLine & vbNewLine & _
          "This is line 3" & vbNewLine & _
          "This is line 4" & vbNewLine & vbNewLine & vbNewLine & _
            "Z:\Quality\# # Document_Development\# Documents_for_Review000-00-00 Tables 9-11 Template OLD - TEST.doc" & vbNewLine & _
            sForm & vbNewLine

With iMsg
    Set .Configuration = iConf
    .To = sFirstReviewer & "@indicate1.com"
    .CC = ""     'sUserName & "; " & "johanson111@comcast.net"
    .BCC = ""
    .From = sUserName
    .Subject = "Test Message"
     .textbody = strbody
    .HtmlBody = "<A HREF=""http://www.google.com/"">Google Page</A>"
    .AddAttachment "Z:\Quality\# # Document_Development001-02-01 Document Review Form.pdf"
    .AddAttachment "Z:\Quality\# # Document_Development001-02 Document Review Draft 9.doc"
   .Send
End With

Debug.Print "CC = " & sUserName  ' *******************************************

结束子