簡體   English   中英

在電子郵件中發送工作表的宏-非活動工作表

[英]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.

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