2種方法來快速發送Excel工作表中的選定單元格作為Outlook電子郵件

立即分享:

有時,您可能希望將Excel工作表中的選定單元格快速插入到Outlook電子郵件中並發送出去。 本文將著眼於這種希望為您提供2種方法。

我以前的文章“將Excel工作表作為Outlook電子郵件發送的2種快速方法”教您如何將整個Excel工作表作為電子郵件發送。 但是,有時,您只希望將工作表中的選定單元格作為電子郵件發送。 為響應此要求,在這裡我們將向您介紹2種方法。 您可以根據自己的喜好進行選擇。

2種方法來快速發送Excel工作表中的選定單元格作為Outlook電子郵件

方法1:手動將所選單元格複製到電子郵件

  1. 首先,開啟來源 Excel 檔案並存取正確的 Excel 工作表。
  2. 然後選擇要作為Outlook電子郵件發送的單元格。
  3. 接下來按“ Ctrl + C”快捷鍵複製所選的單元格。按“ Ctrl + C”快捷鍵以復制選定的單元格
  4. 之後,啟動您的Outlook應用程序。
  5. 隨後,單擊“主頁”功能區中的“新電子郵件”按鈕以創建新的Outlook電子郵件。
  6. 稍後在新的“消息”窗口中,單擊進入消息正文部分。
  7. 然後按“ Ctrl + V”鍵按鈕粘貼以前複製的選定Excel單元格。
  8. 最後,您可以照常編寫電子郵件,然後單擊“發送”按鈕將其發送出去。

方法2:通過VBA將選定的單元格作為電子郵件發送

  1. 首先,打開源Excel工作簿。
  2. 然後按“ Alt + F11”鍵按鈕訪問Excel VBA編輯器。
  3. 在新窗口中,單擊“插入”>“模塊”以插入新模塊。
  4. 接下來,需要啟用 Microsoft Outlook 物件。點選“工具”>“引用”。在彈出的對話方塊中,找到並勾選「Microsoft Outlook 物件庫」。在Excel中啟用Microsoft Outlook對象
  5. 隨後,將以下VBA代碼複製到該模塊中。
Sub SendSelectedCells_inOutlookEmail()
    Dim objSelection As Excel.Range
    Dim objTempWorkbook As Excel.Workbook
    Dim objTempWorksheet As Excel.Worksheet
    Dim strTempHTMLFile As String
    Dim objTempHTMLFile As Object
    Dim objFileSystem As Object
    Dim objTextStream As Object
    Dim objOutlookApp As Outlook.Application
    Dim objNewEmail As Outlook.MailItem
 
    'Copy the selection
    Set objSelection = Selection
    Selection.Copy
 
    'Paste the copied selected ranges into a temp worksheet
    Set objTempWorkbook = Excel.Application.Workbooks.Add(1)
    Set objTempWorksheet = objTempWorkbook.Sheets(1)
 
    'Keep the values, column widths and formats in pasting
    With objTempWorksheet.Cells(1)
         .PasteSpecial xlPasteValues
         .PasteSpecial xlPasteColumnWidths
         .PasteSpecial xlPasteFormats
    End With
 
    'Save the temp worksheet as a HTML file
    Set objFileSystem = CreateObject("Scripting.FileSystemObject")
    strTempHTMLFile = objFileSystem.GetSpecialFolder(2).Path & "\Temp for Excel" & Format(Now, "YYYY-MM-DD hh-mm-ss") & ".htm"
    Set objTempHTMLFile = objTempWorkbook.PublishObjects.Add(xlSourceRange, strTempHTMLFile, objTempWorksheet.Name, objTempWorksheet.UsedRange.Address)
    objTempHTMLFile.Publish (True)
 
    'Create a new email
    Set objOutlookApp = CreateObject("Outlook.Application")
    Set objNewEmail = objOutlookApp.CreateItem(olMailItem)
 
    'Read the HTML file data and insert into the email body
    Set objTextStream = objFileSystem.OpenTextFile(strTempHTMLFile)
    objNewEmail.HTMLBody = objTextStream.ReadAll
    objNewEmail.Display
    'You can specify the new email recipients, subjects here using the following lines:
    'objNewEmail.To = "johnsmith@datanumen.com"
    'objNewEmail.Subject = "DataNumen Products"
    'objNewEmail.Send --> directly send out this email
 
    objTextStream.Close
    objTempWorkbook.Close (False)
    objFileSystem.DeleteFile (strTempHTMLFile)
End Sub

VBA代碼-將Excel工作表中的選定單元格作為Outlook電子郵件發送

  1. 最終,您可以嘗試一下。
  • 首先,像往常一樣選擇特定的單元格。
  • 然後回到新的宏並按F5鍵觸發它。
  • 一次,將顯示新的Outlook電子郵件,您可以在其中看到所選單元格已插入到電子郵件正文中,如以下屏幕截圖所示:包含所選Excel單元格的新電子郵件

PST文件與Excel文件一樣容易受到攻擊

眾所周知,Excel 文件和 Word 文件容易損壞。實際上,包含 Outlook 信箱中所有項目的 PST 檔案也是如此。因此,保護 PST 資料是一項艱鉅的任務。最有效的措施之一是定期備份檔案。此外,為了能夠立即恢復數據,最好準備一個功能強大的工具,例如… DataNumen Outlook Repair,這是能夠的 恢復Outlook 數據不費吹灰之力。

作者簡介:

Shirley Zhang是的數據恢復專家 DataNumen,Inc.是數據恢復技術的全球領導者,包括 維修MDF 和Outlook修復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM

立即分享:

評論被關閉。