![](/img/trans.png)
[英]vba excel send email using parent mailenvelope with html link in the introduction
[英]How to send ActiveWorkbook.Path as link in email in excel VBA?
我正在尝试使用ActiveWorkbook.Path和ActiveWorkbook.Name通过电子邮件将excel工作簿的文件路径发送给某人。 当我将文件路径输入为字符串时,它可以正常工作,但是由于某种原因,当我以这种方式执行操作时,它无法识别完整路径。 我不想使用硬编码的文件地址,以防有人将其移动到其他文件夹中。 这是我在代码的.HTMLBody部分中使用的:
.HTMLBody = emailtext & "<p> </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。 在此先感谢您的帮助!
您可以使用ThisWorkbook.FullName
而不是ActiveWorkbook.Path & "\\" & ActiveWorkbook.Name
来返回整个路径,从而简化代码。
另外,如果要发送的工作簿是执行代码的工作簿,则最好使用ThisWorkbook
而不是ActiveWorkbook
,因为ActiveWorkbook
可以被许多事件更改,并且ThisWorkbook
总是返回执行代码的工作簿。
"<p> </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没有保存...
将其保存在某个地方,然后尝试以下操作:
Public Sub TestMe()
ActiveWorkbook.Save
MsgBox "<p> </p>" & "<p><strong>Click this link: <A href=" & _
"" & ActiveWorkbook.Path & "\" & ActiveWorkbook.Name & "" & _
">Verification Workbook</A></strong></p>"
End Sub
通常,请尝试谨慎处理VBA ActiveWorkbook
, ActiveCell
, ActiveSheet
“活动”内容-有时它们可以是其他内容,而不是已久的内容- 如何避免在Excel VBA中使用Select 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.