Outlook VBA 拉取 Excel 文件路径

问题描述

我正在尝试将超链接插入到我在 Outlook 中撰写的指向当前打开的 Excel 文件的电子邮件中。虽然我可以找到从 Outlook 打开 Excel 的脚本,但我在这里尝试在 Outlook 中创建一个宏,运行时会将打开的 Excel 工作簿的文件路径拉入我电子邮件中的超链接。例如,如果打开了文件路径为“C:\Desktop\Documents\Phones.xlsx”的工作簿,我的电子邮件中会创建一个指向该工作簿的链接

有人可以提供建议吗?

谢谢!

解决方法

如果您只想将链接作为电子邮件的正文,则应该这样做。

Sub hyperlink_zu_email()

'get path of active document
   
    Dim spath As String
    Dim sname As String
    Dim scomplete As String
   
    spath = Excel.Application.ActiveDocument.Path
    sname = Excel.Application.ActiveDocument.Name
    scomplete = Excel.Application.ActiveDocument.Path + "\" + Application.ActiveDocument.Name

'send Email

    Dim mailmsg As Object
    Dim OutLkApp As Object
   
    Set OutLkApp = CreateObject("Outlook.Application")
    Set mailmsg = OutLkApp.CreateItem(0)
    With mailmsg
    .To = "he@do.at"
    .Subject = scomplete
    .HTMLBody = "<a href='file:///" & scomplete & "'>" & sname & "</a>"
    .Display
    End With
   
End Sub

“sname”部分可以是您想要的任何内容,在这种情况下,它将采用活动文档的名称。这是收到邮件的人的链接的样子。

但正如@Foxfire And Burns And Burns 提到的,只有打开一个工作簿才能正常工作。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...