我一直在嘗試整個早上獲取此VBA腳本,以將我的活動Excel文檔附加到自動生成的Outlook郵件。如果我將文件路徑聲明爲字符串並附加它,一切正常。除了我想附加當前Excel文檔的完整文件路徑而不是使用靜態字符串值。如何將活動Excel工作簿附加到電子郵件
這裏是我的代碼:
Private Sub CommandButton1_Click()
Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Dim sAttach As String
Dim sTo As String
Dim sCC As String
'For To field
Set emailRng = Worksheets("Pre-Clearance Email").Range("E11:J14")
For Each cl In emailRng
sTo = sTo & ";" & cl.Value
Next
sTo = Mid(sTo, 2)
'For CC field
Set emailRngCC = Worksheets("Pre-Clearance Email").Range("E16:J19")
For Each cl In emailRngCC
sCC = sCC & ";" & cl.Value
Next
sCC = Mid(sCC, 2)
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
'variable declarations for email body and attachment
strbody = "<BODY style=font-size:11pt;font-family:Calibri>Good Morning;<p>Please see the attached aliases for validation. Please let me know if you have any questions.<p>Thank you.</BODY>"
sAttach = "K:\CRM Support\Data\Systematic Trade Recon (1).xlsm"
'the below code adds a users default signature to the email
With OutMail
.Display
End With
signature = OutMail.HTMLBody
With OutMail
.to = sTo
.CC = sCC
.Subject = "STR Pre-Clearance"
.HTMLBody = strbody & signature
.Attachments.Add (ActiveDocument.FullName)
'.Attachments.Add sAttach
.Display 'Instead of .Display, you can use .Send to send the email _
or .Save to save a copy in the drafts folder
End With
編譯器給我在這行錯誤:
.Attachments.Add (ActiveDocument.FullName)
我做了一些研究,並試圖解決自己的問題,但我只是無法弄清楚如何讓這個腳本將活動文件附加到這個Outlook消息中。正如你可以通過我的代碼看到的,我的備份選項只是使用字符串變量和靜態地址來附加文件,但我寧願讓這個腳本比這更通用。
這裏是我發現的網站,給了我這個想法,開始與一個:Here
它'ActiveWorkbook.Path& 「\」 &ActiveWorkbook.Name' –
'.Attachments.Add(ActiveWorkbook.FullName)'對我來說是什麼工作。它看起來像「ActiveWorkbook.Path」試圖鏈接整個目錄,這是相當大的。 > _ <感謝您的提示,我現在意識到我應該使用'ActiveWorkbook'。 – FluffyKittens
如果我錯了,請糾正我,但不是'ActiveWorkbook.FullName'與'ActiveWorkbook.Path&「\」&ActiveWorkbook.Name'相同? – FluffyKittens