Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

VBAマクロとOutlookを使用してExcelから電子メールを送信する

Excelスプレッドシートにリストされているユーザーにメールを送信するタスクがありました。各電子メールには、ユーザーごとに個別の情報が含まれている必要がありました。コンピューターで構成されたOutlookプロファイルから電子メールを送信するExcelのVBAマクロを使用してそれを実行しようとしました。これが私の解決策です。

次の列を持つExcelファイルがあるとします。

Email | Full Name | Last Password Change Date | Account status

VBAマクロとOutlookを使用してExcelから電子メールを送信する

私の仕事は、このテンプレートからリスト内の各ユーザーにそのような電子メールを送信することです。

件名 :woshub.comドメインでのアカウントステータス
本文 :親愛なる%FullUsername%、
woshub.comドメインのアカウントは%status%状態です
最後にパスワードを変更した日時は%pwdchange%です

新しいマクロを作成します:表示 ->マクロ 。マクロの名前を指定します( send_email) 作成をクリックします :

VBAマクロとOutlookを使用してExcelから電子メールを送信する

次のコードをコピーして、表示されるVBAエディターに貼り付けます(関連するコメントを作成しました)。メールの送信を自動化するために、VBAスクリプト内でOutlookオブジェクトを作成して使用できるCreateObject(「Outlook.Application」)関数を使用します。

重要 。 Outlookプロファイルは、送信側コンピューターで構成する必要があります。このメールボックス(および電子メールアドレス)は、電子メールの送信に使用されます。

Sub send_email()
Dim olApp As Object
Dim olMailItm As Object
Dim iCounter As Integer
Dim Dest As Variant
Dim SDest As String
' Subject
strSubj = "Your account status on woshub.com domain"
On Error GoTo dbg
' Create a new Outlook object
Set olApp = CreateObject("Outlook.Application")
For iCounter = 1 To WorksheetFunction.CountA(Columns(1))
' Create a new item (email) in Outlook
Set olMailItm = olApp.CreateItem(0)
strBody = ""
useremail = Cells(iCounter, 1).Value
FullUsername = Cells(iCounter, 2).Value
Status = Cells(iCounter, 4).Value
pwdchange = Cells(iCounter, 3).Value
'Make the body of an email
strBody = "Dear " & FullUsername & vbCrLf
strBody = strBody & " Your account in woshub.com domain is in" & Status & “ state” & vbCrLf
strBody = strBody & "The date and time of the last password change is" & pwdchange & vbCrLf
olMailItm.To = useremail
olMailItm.Subject = strSubj
olMailItm.BodyFormat = 1
' 1 – text format of an email, 2 -  HTML format
olMailItm.Body = strBody
olMailItm.Send
Set olMailItm = Nothing
Next iCounter
Set olApp = Nothing
dbg:
'Display errors, if any
If Err.Description <> "" Then MsgBox Err.Description
End Sub

VBAマクロとOutlookを使用してExcelから電子メールを送信する

このExcelファイルを。xlsmとして保存します (マクロをサポートするExcelワークブックの形式)。メールを送信するには、作成したプロシージャ(マクロ)を選択して、[実行]をクリックします。

VBAマクロとOutlookを使用してExcelから電子メールを送信する

マクロは、Excelワークシートのすべての行を1つずつ調べ、リスト内の各受信者に電子メールを生成して送信します。


  1. Outlook Web からメールを保存する方法

    Outlook Web アプリは、Outlook 電子メール サービス (もう 1 つは Outlook PC アプリ) を使用するための優れたツールです。これにより、電子メールへのアクセスと管理が迅速なプロセスになります。 Gmail とは異なり、Outlook Web アプリには、フォルダー、カテゴリ、検索フォルダーなどを通じてデータを分類する方法が多数用意されています。 ただし、メールを Outlook Web から PC に保存したい場合もあります。その方法は次のとおりです。 Outlook Web からメールを保存する方法 Outlook の Web メールを保存するのは、かなり

  2. Gmail と Outlook を使用して暗号化されたメールを送信する方法

    セキュリティは、すべての主要な懸念事項の 1 つです。ソーシャル メディアであろうと電子メールであろうと、プライバシーに対する脅威はウェブ上で停滞しています。したがって、電子メールを暗号化して、悪名高いサイバー犯罪者から安全に保つことが重要です。 メールの送信は私たちの通常のタスクであるため、注意を払い、添付ファイルとメールを暗号化しておく必要があります。同じことを行うには、送信するメールが確実に暗号化されるようにする ProtonMail などのアプリを使用してメールを送信するなど、さまざまな方法があります。しかし、Outlook や Gmail で安全なメールを送信する方法を知っています