メインコンテンツへスキップ
 

ExcelからOutlookを介してセルの範囲を送信/電子メールで送信するにはどうすればよいですか?

著者:シャオヤン 最終更新日:2024年09月05日

ワークシートでレポートを完成させた後、特定の受信者にいくつかの重要なデータを含むこのワークシートのセルの範囲に送信する必要があるという問題に苦しんだことがありますか。 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

Note:上記のコードでは、次の情報を必要に応じて変更できます。

  • .To = "skyyang@extendoffice.com」
  • .CC = ""
  • .BCC = ""
  • .Subject = "kteの情報"
  • .Body = "こんにちは、このドキュメントを確認してお読みください。"

3。 次に、をクリックします F5 このコードを実行するためのキーを押すと、送信する範囲を選択するように促すプロンプトボックスが表示されます。 スクリーンショットを参照してください:

データ範囲を選択するための VBA コード

4。 次に、をクリックします OK、プロンプトボックスが表示されたら、プログレスバーが終了したら、をクリックします。 次を許可します。、そして特定の範囲のセルが添付ファイルとして受信者に送信されました。

選択した範囲を添付ファイルとして送信するには、「許可」をクリックします

Excel AI 用 Kutools のスクリーンショット

Kutools AI で Excel の魔法を解き放つ

  • スマートな実行: セル操作の実行、データの分析、グラフの作成など、すべて簡単なコマンドで実行できます。
  • カスタム式: カスタマイズされた数式を生成してワークフローを効率化します。
  • VBAコーディング: VBA コードを簡単に記述して実装します。
  • 式の解釈: 複雑な数式を簡単に理解できます。
  • テキスト翻訳: スプレッドシート内の言語の壁を打ち破ります。
AI を活用したツールで Excel の機能を強化します。 今すぐダウンロード これまでにない効率性を体験してください!

矢印青い右バブルVBAコードを使用してExcelからセルの範囲を本文として送信します

Excelからメッセージ本文の一部として特定の範囲を送信する場合は、次のVBAコードを適用して解決することもできます。

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 このコードを実行するためのキーを押すと、送信する範囲を選択するように促すプロンプトボックスが表示されます。

データ範囲を選択するための VBA コード

4. 次に、をクリックします。 OK、プロンプトボックスが表示されたら、プログレスバーが終了したら、をクリックします。 次を許可します。、そして特定の範囲のセルがメッセージ本文として受信者に送信されました。

選択した範囲をメール本文として送信するには、「許可」をクリックします。

注意:

1.これらのコードは、メールプログラムとしてOutlookを使用している場合にのみ使用できます。

2.現在のワークシートを送信した後、Outlookに移動して、電子メールが正常に送信されたかどうかを確認できます。


関連記事:

ExcelからOutlook経由でのみワークシートを送信するにはどうすればよいですか?

ExcelからOutlookを介して現在のブックを送信するにはどうすればよいですか?

最高のオフィス生産性向上ツール

🤖 Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行   |  コードを生成  |  カスタム数式の作成  |  データを分析してグラフを生成する  |  Kutools関数を呼び出す...
人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト ツール (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 ツール (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット ツール (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...


Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

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