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

方法1:選択したセルを手動で電子メールにコピーする
- まず、元のExcelファイルを開き、該当するExcelワークシートにアクセスしてください。
- 次に、Outlookの電子メールとして送信するセルを選択します。
- 次に、「Ctrl + C」キーのショートカットを押して、選択したセルをコピーします。
- その後、Outlookアプリケーションを起動します。
- 続いて、[ホーム]リボンの[新しい電子メール]ボタンをクリックして、新しいOutlook電子メールを作成します。
- 後で新しいメッセージウィンドウで、メッセージ本文セクションをクリックします。
- 次に、「Ctrl + V」キーボタンを押して、以前にコピーした選択したExcelセルを貼り付けます。
- 最後に、通常どおりメールを作成し、「送信」ボタンをクリックして送信できます。
方法2:選択したセルをVBA経由で電子メールとして送信する
- 最初に、ソースのExcelブックを開きます。
- 次に、「Alt + F11」キーボタンを押して、ExcelVBAエディターにアクセスします。
- 新しいウィンドウで、[挿入]> [モジュール]をクリックして、新しいモジュールを挿入します。
- 次に、Microsoft Outlook オブジェクトを有効にする必要があります。「ツール」>「参照設定」をクリックします。ポップアップダイアログボックスで、「Microsoft Outlook オブジェクトライブラリ」を探してチェックを入れます。
- 続いて、次の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
- 最終的には、試してみることができます。
- まず、通常どおり特定のセルを選択します。
- 次に、新しいマクロに戻り、F5キーを押してトリガーします。
- すぐに、新しいOutlook電子メールが表示され、次のスクリーンショットのように、選択したセルが電子メールの本文に挿入されていることがわかります。
PSTファイルはExcelファイルと同じ脆弱性です
ご存知のとおり、Excel ファイルや Word 文書は破損しやすいものです。実際、Outlook メールボックス内のすべてのアイテムを含む PST ファイルも同様です。そのため、PST データのセキュリティを確保するのは大変な作業です。最も効果的な対策の 1 つは、ファイルを定期的にバックアップすることです。さらに、迅速な復旧を可能にするために、次のような経験豊富なツールを用意しておくことをお勧めします。 DataNumen Outlook Repairできること Outlookを回復する 汗をかくことなくデータ。
著者紹介:
Shirley Zhangは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 mdfを修復する と見通し修理ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com



