Note: The other languages of the website are Google-translated. Back to English

ブックがExcelに保存されているときにOutlookからメールを送信するにはどうすればよいですか?

この記事では、特定のブックがExcelに保存されているときにOutlookを介して電子メールを送信する方法について説明しています。 チュートリアルが示すようにしてください。

ブックがVBAコードで保存されたら、Outlookからメールを送信します


ブックがVBAコードで保存されたら、Outlookからメールを送信します

ブックをExcelに保存するときにOutlookからメールを送信するには、次のようにします。

1.最初に、ワークブックをExcelマクロ対応ワークブックとして保存してください。 クリック フィレット > 名前を付けて保存。 の中に 名前を付けて保存 ダイアログボックスで、ブックを保存するフォルダを選択し、[ファイル名]ボックスに名前を付けて、[ Excelマクロが有効なブック から タイプとして保存 ドロップダウンリストをクリックし、 セールで節約 ボタン。 スクリーンショットを参照してください:

2.今保存したExcelマクロ対応ワークブックを開き、を押します。 他の + F11 キーを同時に開いて アプリケーション向け Microsoft Visual Basic 窓。

2。 の中に アプリケーション向け Microsoft Visual Basic ウィンドウ、ダブルクリックしてください このワークブック 左側のバーで、以下のVBAコードをコピーして このワークブック コードウィンドウ。 スクリーンショットを参照してください:

VBAコード:ワークブックが保存されたときにメールを送信する

Private Sub Workbook_AfterSave(ByVal Success As Boolean)
'Updated by Extendoffice 20181102
    Dim xOutApp As Object
    Dim xMailItem As Object
    Dim xName As String
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailItem = xOutApp.CreateItem(0)
    xName = ActiveWorkbook.FullName
    With xMailItem
        .To = "Email Address"
        .CC = ""
        .Subject = "The workbook has been saved"
        .Body = "Hi," & Chr(13) & Chr(13) & "File is now updated."
        .Attachments.Add xName
        .Display
       '.send
    End With
    Set xMailItem = Nothing
    Set xOutApp = Nothing
End Sub

注意:交換してください メールアドレス 受信者のメールアドレスが並んでいる .To = "メールアドレス", 必要に応じて、VBAコードのCc、Subject、およびbodyフィールドを変更します。

3。 プレス 他の + Q キーを同時に閉じて アプリケーション向け Microsoft Visual Basic 窓。

これ以降、ワークブックを更新して保存すると、更新されたワークブックが添付されたメールが自動的に作成されます。 クリックしてください 登録 メールを送信するボタン。 スクリーンショットを参照してください:

注意:VBAコードは、電子メールプログラムとしてOutlookを使用している場合にのみ機能します。


関連記事:


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

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。
kteタブ201905

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

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
コメントを並べ替える
コメント (17)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
VBAが電子メールを送信できるようにするためのセキュリティ許可のポップアップを表示せずに、日付範囲に基づいてVBAで電子メール通知を自動化する方法。
このコメントは、サイトのモデレーターによって最小化されました
グラシアス。 コンサルタ:utilizando esta misma rutina、comopodríaenviarel correoanuncorreoespecíficodependiendoelvalorde otra celda?
このコメントは、サイトのモデレーターによって最小化されました
親愛なる皆さん、サーバー上の特定のフォルダに機能リンクを添付する方法をお聞きしたいのですが、リンクを貼り付けると、プレーンテキストのようにブックに表示されるため、受信した電子メールでは機能しません。どうすればよいですか?それをリンクに変えて、受信者がそれをクリックできるようにしますか?
同封のExcelファイルを送信する代わりに、この方法を使用したいと思います。
アドバイスをありがとう
このコメントは、サイトのモデレーターによって最小化されました
ハイ・ロバート、
申し訳ありませんが、これを支援することはできません。Excelに関する質問をフォーラムに投稿してください。 https://www.extendoffice.com/forum.html。 あなたは私たちの専門家や他のExcelファンからより多くのExcelサポートを得るでしょう。
このコメントは、サイトのモデレーターによって最小化されました
私はこれを電子メールの本文に入れました、そしてそれは私のために働きました...
"file:/// Z:\ dir1 \ dir2 \ dir3 \ Test1.xlsm"
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、素敵な記事です! これで達成しようとしていることのXNUMXつは、ワークブックの現在の状態を電子メールに添付することです。

現時点では、ファイルの元の状態のみが送信され、ユーザーが行った変更は含まれていません。

マクロを使用してこれを実装する方法についてのアイデアはありますか?
このコメントは、サイトのモデレーターによって最小化されました
こんにちはクリス、
問題が解決したコードが更新されました。試してみてください。 コメントありがとうございます。
このコメントは、サイトのモデレーターによって最小化されました
こんにちはクリス、

私は同じ問題に偶然出くわしました。
現在、コードは「beforesave」モジュールで使用されています。
これは、電子メールが保存前のスプレッドシートを送信することを意味します。

別のモジュール「アフターセーブ」があります。
このモジュールのコードを適用したところ、魅力のように機能しました。
このコメントは、サイトのモデレーターによって最小化されました
これは、Office365ドキュメントでどのように処理されますか。 自動的に保存されます。
このコメントは、サイトのモデレーターによって最小化されました
自動化された電子メールを自動暗号化する方法はありますか?
このコメントは、サイトのモデレーターによって最小化されました
こんにちはマイク、
申し訳ありませんが、この問題を解決するのを助けることはできません。 コメントありがとうございます。
このコメントは、サイトのモデレーターによって最小化されました
やあ! このガイドラインをどうもありがとう:-)私はこのコードでもっと何かをしたいです-国に基づいて電子メールを送ってください。 これは、ifとselectを使用してコマンドを作成する必要があることを意味します。 右? メールから添付ファイルを削除しました。 代わりに、パス付きのリンクをフォルダに追加したいと思います。 しかし、マクロを実行すると、コマンドは無効になります:-(
そこに追加する方法について、それぞれの助けに感謝します。
このコメントは、サイトのモデレーターによって最小化されました
こんにちは-メールの「cc」フィールドにセルデータを含めるにはどうすればよいですか?
このコメントは、サイトのモデレーターによって最小化されました
ハイブレンツ、
メールの「cc」フィールドのセルa7の値を含めたい場合は、以下のVBAを試してください。

Private Sub Workbook_AfterSave(ByVal Success As Boolean)

'によって更新されました Extendoffice 20200628

オブジェクトとしての薄暗いxOutApp

オブジェクトとしての薄暗いxMailItem

Dim xName As String

エラーで次の再開

xOutApp = CreateObject( "Outlook.Application")を設定します

xMailItem = xOutApp.CreateItem(0)を設定します

xname = Activeworkbook.fullname

xMailItemを使用

.To = "メールアドレス"

.CC = Range( "a7")。Value


.Subject="ブックが保存されました"

.Body = "Hi、"&Chr(13)&Chr(13)&"ファイルが更新されました。"

.Attachments.Add xName

。表示

'。送信

最後に

xMailItem=Nothingを設定します

xOutApp=Nothingを設定します

End Subの
このコメントは、サイトのモデレーターによって最小化されました
親愛なる皆さん、誰か助けてくれませんか。私はVBAコーディングの初心者です。変更を加えましたが、ブックが保存されている場合や、ユーザー名が異なる場合(たとえば、ステーションはglade2であり、ワークブックが保存されている場合は電子メールを送信し、それ以外の場合は送信しないでください。

サポートありがとうございます
このコメントは、サイトのモデレーターによって最小化されました
こんにちはフロリン、
あなたのポイントを取得できませんでした。 あなたのユーザー名は何を表していますか?
このコメントは、サイトのモデレーターによって最小化されました
こんにちはクリスタル、あなたの返事をありがとう、usernaneは環境usernaneです、そして私はそれをしました、私はif関数を使ってsubを終了しました。
どうもありがとうございました。
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護