[英]Macro to Send Sheet in email - NOT active sheet
我需要創建一個宏,該宏將指定的工作表作為其自己的工作簿發送到電子郵件地址。 此工作表不是活動的工作表。 基本上,我需要一個按鈕頁面,然后對每個按鈕進行編程,以在工作簿中發送特定的工作表(標簽,隨便什么)作為電子郵件的附件。 同樣,要發送的紙張是與包含按鈕的紙張不同的紙張。 請指教。
當時,它未經測試,但至少應該為您指明正確的方向。 如果其他人知道sendUsing位指的是什么,請刷新我的記憶! (如果沒有,我將嘗試仔細檢查並記住,因為大部分代碼是從大約一年前的工作中直接提取的)
Sub copyAndEmail()
Dim sendUsing, smtpServer, smtpPort, pathToWB As String
Dim wbOpen, wbSend As Workbook
sendUsing = "" 'cant remember what this one is actually, but I have it on "2" - will look through some old notes and check
smtpServer = "" 'this is your mail server IP
smtpPort = "" 'and your mail server port
pathToWB = "c:\Your\Sheet\Location.xls"
Set wbOpen = Workbooks.Open(pathToWB)
wbOpen.Sheets("Your Sheet").Copy
getTemp = Environ$("tmp")
If getTemp = vbNullString Then
getTemp = Environ$("temp")
End If
Set wbSend = ActiveSheet.SaveAs(getTemp & "\" & Format(Now(), "ddmmyy_hhmm") & ".xls")
Set objMessage = CreateObject("CDO.Message")
With objMessage
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = sendUsing
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = smtpServer
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = smtpPort
.Configuration.Fields.Update
.Subject = "" 'Insert Subject Here
.From = "" 'insert "From" email address
.To = "" 'insert "To" email address
.TextBody = "" 'Insert Body Here
.AddAttachment wbSend ' attachment
.Send
End With
Kill wbSend
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.