Outlook VBAで特定のアカウントからメールを送信する方法

パソコンパソコン・スマホ教室
スポンサーリンク

皆さん、こんにちは。今日は、OutlookのVBAを使って、特定のメールアカウントからメールを送信する方法についてお話しします。複数のメールアカウントをお持ちの方にとって、特定のアカウントを選んでメールを送信するのは少し複雑に感じるかもしれません。でも、ご安心ください。今回は、その方法を初心者の方にもわかりやすく解説していきます。

スポンサーリンク

Outlook VBAでメールを送信する基本

Outlookのイメージ

Outlookのイメージ

まず、OutlookのVBAを使ってメールを送信する基本的な方法を確認しましょう。以下の手順で行います。

  1. Outlookアプリケーションを起動します。
  2. 新しいメールアイテムを作成します。
  3. 件名、本文、宛先などのプロパティを設定します。
  4. メールを送信します。

具体的なコードは以下のようになります。

vba
Sub SendEmail()
Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem

' Outlookアプリケーションを起動
Set OutApp = New Outlook.Application
' 新しいメールアイテムを作成
Set OutMail = OutApp.CreateItem(olMailItem)

With OutMail
.To = "recipient@example.com"
.Subject = "テストメール"
.Body = "これはテストメールです。"
.Send ' メールを送信
End With

' オブジェクトの解放
Set OutMail = Nothing
Set OutApp = Nothing
End Sub

このコードでは、デフォルトのメールアカウントからメールが送信されます。

SendUsingAccountプロパティを使って送信アカウントを指定する

複数のメールアカウントを使用している場合、特定のアカウントからメールを送信したいことがあります。その際に役立つのが、`SendUsingAccount`プロパティです。これを使用すると、メールの送信に使用するアカウントを指定できます。

以下の手順で行います。

  1. Outlookアプリケーション内のアカウントを取得します。
  2. 使用したいアカウントを選択します。
  3. `SendUsingAccount`プロパティに選択したアカウントを設定します。
  4. メールを送信します。

具体的なコードは以下のようになります。

vba
Sub SendEmailFromSpecificAccount()
Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem
Dim oAccount As Outlook.Account
Dim AccountName As String

' 使用したいアカウントの名前を設定
AccountName = "youraccount@example.com"

' Outlookアプリケーションを起動
Set OutApp = New Outlook.Application
' 新しいメールアイテムを作成
Set OutMail = OutApp.CreateItem(olMailItem)

' 指定したアカウントを検索
For Each oAccount In OutApp.Session.Accounts
If oAccount.SmtpAddress = AccountName Then
' メールのプロパティを設定
With OutMail
.To = "recipient@example.com"
.Subject = "特定のアカウントからの送信"
.Body = "このメールは特定のアカウントから送信されています。"
' 送信に使用するアカウントを設定
Set .SendUsingAccount = oAccount
.Send ' メールを送信
End With
Exit For
End If
Next

' オブジェクトの解放
Set OutMail = Nothing
Set OutApp = Nothing
End Sub

このコードでは、指定したメールアカウントからメールが送信されます。

SendUsingAccountプロパティを使用する際の注意点

`SendUsingAccount`プロパティを使用する際には、以下の点に注意が必要です。

  • 指定したアカウントがOutlookに正しく設定されていることを確認する必要があります。
  • アカウントのSMTPアドレスを正確に指定する必要があります。
  • アカウントが存在しない場合、`SendUsingAccount`プロパティは`Nothing`を返します。

これらの点を確認することで、エラーを防ぐことができます。

よくある質問や疑問

Q1: 複数のアカウントがある場合、どのように特定のアカウントを選択すれば良いですか?

A1: `OutApp.Session.Accounts`コレクションをループして、各アカウントの`SmtpAddress`プロパティを確認することで、特定のアカウントを選択できます。

Q2: `SendUsingAccount`プロパティが機能しない場合、どうすれば良いですか?

A2: まず、指定したアカウントがOutlookに正しく設定されていることを確認してください。また、アカウントのSMTPアドレスが正確であることを確認し、コード内で正しく参照されているかを確認してください。

今すぐ解決したい!どうしたらいい?

LINE公式

いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」

あなたはこんな経験はありませんか?

✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦

平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。

LINEでメッセージを送れば即時解決!

すでに多くの方が私の公式LINEからお悩みを解決しています。

最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。

誰でも無料で使えますので、安心して使えます。

問題は先のばしにするほど深刻化します。

小さなエラーがデータ消失重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。

あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。

相談しに行く

ぜひ、あなたの悩みを私に解決させてください。

まとめ

OutlookのVBAを使用して特定のアカウントからメールを送信する方法について解説しました。`SendUsingAccount`プロパティを活用することで、複数のアカウントを持つユーザーでも柔軟にメールを送信できます。ぜひ試してみてください。もし他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。

コメント

タイトルとURLをコピーしました