【问题标题】:How to send ActiveWorkbook.Path as link in email in excel VBA?如何在 excel VBA 中将 ActiveWorkbook.Path 作为电子邮件中的链接发送?
【发布时间】:2018-07-19 23:51:58
【问题描述】:

我正在尝试使用 ActiveWorkbook.Path 和 ActiveWorkbook.Name 通过电子邮件将 excel 工作簿的文件路径发送给某人。当我将文件路径作为字符串输入时,我让它工作,但由于某种原因,当我这样做时它无法识别完整路径。我不想使用硬编码的文件地址,以防有人将其移动到不同的文件夹。这就是我在代码的 .HTMLBody 部分中使用的内容:

.HTMLBody = emailtext & "<p>&nbsp;</p>" & "<p><strong>Click this link to go to task verification worksheet: <A href=" & _
        "" & ActiveWorkbook.Path & "\" & ActiveWorkbook.Name & "" & ">Verification Workbook</A></strong></p>"

完整路径应该是 D:\Control Verification\WorkbookName.xlsm,但是当我尝试单击链接时,它会尝试访问 D:\Control。提前感谢您的帮助!

【问题讨论】:

  • ActiveWorkbook.FullName?

标签: html vba excel


【解决方案1】:

您可以使用ThisWorkbook.FullName 来简化代码,它返回整个路径而不是ActiveWorkbook.Path &amp; "\" &amp; ActiveWorkbook.Name

另外,如果您要发送的工作簿是执行代码的工作簿,最好使用ThisWorkbook 而不是ActiveWorkbook,因为ActiveWorkbook 可以被许多事件更改,ThisWorkbook 总是返回工作簿执行代码。

【讨论】:

  • 明确一点,使用 ThisWorkbook 应该不会有什么问题?
  • 使用 ThisWorkbook 以及使用 ActiveWorkbook 可能会出现问题。 ActiveWorkbook 的问题是引用可以由 VBA 更新,而无需明确告诉它这样做。 ThisWorkbook 始终引用正在执行 VBA 的工作簿,无论用户操作或代码执行如何
  • 我将在这种情况下使用 ThisWorkbook。谢谢。
【解决方案2】:
"<p>&nbsp;</p>" & "<p><strong>Click this link to go to task verification worksheet: <A href=" & _
    """" & ActiveWorkbook.Path & "\" & ActiveWorkbook.Name & """" & ">Verification Workbook</A></strong></p>"

在 href 周围添加引号,作为路径:D:\Control Verification\WorkbookName.xlsm 包含一个空格。

【讨论】:

  • 每一端的另一组引号似乎起到了作用。谢谢。
  • 欢迎您。我也会注意其他答案中给出的关于 ActiveWorkbook 使用的建议。
  • 是的,我也会尝试实施他们的建议。
【解决方案3】:

我猜问题是 ActiveWorkbook 没有保存...

将其保存在某处并尝试以下操作:

Public Sub TestMe()

    ActiveWorkbook.Save

    MsgBox "<p>&nbsp;</p>" & "<p><strong>Click this link: <A href=" & _
           "" & ActiveWorkbook.Path & "\" & ActiveWorkbook.Name & "" & _
           ">Verification Workbook</A></strong></p>"

End Sub

一般来说,在 VBA ActiveWorkbookActiveCellActiveSheet 中对“活动”的东西要小心一点 - 有时它们可​​能是其他东西,而不是期待的东西 - How to avoid using Select in Excel VBA

【讨论】:

    猜你喜欢
    • 2017-01-09
    • 1970-01-01
    • 1970-01-01
    • 2022-09-24
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    • 2014-02-24
    • 2015-02-20
    相关资源
    最近更新 更多