Excelワークシートで選択したセルをOutlookの電子メールとしてすばやく送信する2つの方法

今すぐ共有:

場合によっては、Excelワークシートで選択したセルをOutlookの電子メールにすばやく挿入して、この電子メールを送信したいことがあります。 この記事では、2つの方法を提供するというこの願いを見ていきます。

私の以前の記事「ExcelワークシートをOutlook電子メールとして送信する2つの簡単な方法」では、Excelワークシート全体を電子メールとして送信する方法を説明しました。 ただし、ワークシートで選択したセルのみを電子メールとして送信したい場合もあります。 この要件に応えて、ここでは2つの方法を紹介します。 お好みに応じてどちらかをお選びいただけます。

Excelワークシートで選択したセルをOutlookの電子メールとしてすばやく送信する2つの方法

方法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」キーボタンを押して、ExcelVBAエディターにアクセスします。
  3. 新しいウィンドウで、[挿入]> [モジュール]をクリックして、新しいモジュールを挿入します。
  4. 次に、Microsoft Outlook オブジェクトを有効にする必要があります。「ツール」>「参照設定」をクリックします。ポップアップダイアログボックスで、「Microsoft Outlook オブジェクトライブラリ」を探してチェックを入れます。ExcelでMicrosoftOutlookオブジェクトを有効にする
  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 データのセキュリティを確保するのは大変な作業です。最も効果的な対策の 1 つは、ファイルを定期的にバックアップすることです。さらに、迅速な復旧を可能にするために、次のような経験豊富なツールを用意しておくことをお勧めします。 DataNumen Outlook Repairできること Outlookを回復する 汗をかくことなくデータ。

著者紹介:

Shirley Zhangは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 mdfを修復する と見通し修理ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

今すぐ共有:

コメントは締め切りました。