ExcelからOutlookを介してセルの範囲を送信/電子メールで送信するにはどうすればよいですか?
ワークシートでレポートを完成させた後、特定の受信者にいくつかの重要なデータを含むこのワークシートのセルの範囲に送信する必要があるという問題に苦しんだことがありますか。 Outlookを開かずにExcelからこの範囲を電子メールで送信する簡単な方法はありますか?
VBAコードを使用してExcelから添付ファイルとしてセルの範囲を送信します
VBAコードを使用してExcelからセルの範囲を本文として送信します
VBAコードを使用してExcelから添付ファイルとしてセルの範囲を送信します
次のVBAコードは、選択した範囲をExcelの添付ファイルとして送信するのに役立ちます。 このようにしてください:
1。 ブックを開いて、 Alt + F11 キーを押して Microsoft Visual Basic forApplicationsウィンドウ.
2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュールウィンドウ.
VBAコード:Excelから添付ファイルとしてセルの範囲を送信します
Sub SendRange()
'Update 20131209
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim Ws As Worksheet
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Wb = Application.ActiveWorkbook
Wb.Worksheets.Add
Set Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
If Wb2.HasVBProject Then
xFile = ".xlsm"
xFormat = xlOpenXMLWorkbookMacroEnabled
Else
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
End If
Case Excel8:
xFile = ".xls"
xFormat = Excel8
Case xlExcel12:
xFile = ".xlsb"
xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
.To = "skyyang@extendoffice.com"
.CC = ""
.BCC = ""
.Subject = "information of kte"
.Body = "hello, please check and read this document. "
.Attachments.Add Wb2.FullName
.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
注意:上記のコードでは、次の情報を必要に応じて変更できます。
- .To = "skyyang @extendoffice.com」
- .CC = ""
- .BCC = ""
- .Subject = "kteの情報"
- .Body = "こんにちは、このドキュメントを確認してお読みください。"
3。 次に、をクリックします F5 このコードを実行するためのキーを押すと、送信する範囲を選択するように促すプロンプトボックスが表示されます。 スクリーンショットを参照してください:
4。 次に、をクリックします OK、プロンプトボックスが表示されたら、プログレスバーが終了したら、をクリックします。 許可する、そして特定の範囲のセルが添付ファイルとして受信者に送信されました。
VBAコードを使用してExcelからセルの範囲を本文として送信します
Excelからメッセージ本文の一部として特定の範囲を送信する場合は、次のVBAコードを適用して解決することもできます。
Kutools for Excel, 以上で 120 便利な機能で、仕事が楽になります。 | ||
1。 ワークシートをアクティブにして、 Alt + F11 キーを押して Microsoft Visual Basic forApplicationsウィンドウ.
2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュールウィンドウ.
VBAコード:セルの範囲をExcelから本文として送信します
Sub EmailRange()
'Update 20131209
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
WorkRng.Select
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
.Introduction = "Please read this email."
.Item.To = "skyyang@extendoffice.com"
.Item.Subject = "information of kte"
.Item.Send
End With
Application.ScreenUpdating = True
End Sub
注意: 上記のコードでは、必要に応じて次の情報を変更できます。
- .Introduction = "このメールをお読みください。"
- .Item.To = "skyyang @extendoffice.com」
- .Item.Subject = "kteの情報"
3。 次に、をクリックします F5 このコードを実行するためのキーを押すと、送信する範囲を選択するように促すプロンプトボックスが表示されます。
4. 次に、をクリックします。 OK、プロンプトボックスが表示されたら、プログレスバーが終了したら、をクリックします。 許可する、そして特定の範囲のセルがメッセージ本文として受信者に送信されました。
注意:
1.これらのコードは、メールプログラムとしてOutlookを使用している場合にのみ使用できます。
2.現在のワークシートを送信した後、Outlookに移動して、電子メールが正常に送信されたかどうかを確認できます。
関連記事:
ExcelからOutlook経由でのみワークシートを送信するにはどうすればよいですか?
ExcelからOutlookを介して現在のブックを送信するにはどうすればよいですか?
最高のオフィス生産性ツール
Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます
- 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
- スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
- セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
- [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
- 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
- テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
- スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
- ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
- 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作業をはるかに簡単にします
- Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
- 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!


























