簡體   English   中英

如何在Excel VBA中以電子郵件中的鏈接的形式發送ActiveWorkbook.Path?

[英]How to send ActiveWorkbook.Path as link in email in excel VBA?

我正在嘗試使用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。 在此先感謝您的幫助!

您可以使用ThisWorkbook.FullName而不是ActiveWorkbook.Path & "\\" & ActiveWorkbook.Name來返回整個路徑,從而簡化代碼。

另外,如果要發送的工作簿是執行代碼的工作簿,則最好使用ThisWorkbook而不是ActiveWorkbook ,因為ActiveWorkbook可以被許多事件更改,並且ThisWorkbook總是返回執行代碼的工作簿。

"<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沒有保存...

將其保存在某個地方,然后嘗試以下操作:

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 “活動”內容-有時它們可​​以是其他內容,而不是已久的內容- 如何避免在Excel VBA中使用Select

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM