エクセルにて、毎日送信する定型メールを作成するマクロを作成しましたが、作成したメールに開封確認の要求を追加する設定がわかりません。エクセルのシートから要求の有無を指定させたいと考えています。もし、ご存じの方がいましたら、お知恵を拝借いただきたいです。
なお、エクセルでマクロを起動し、Outlook.Applicationのオブジェクトでメールを作成して、シートの内容を各設定に組み込むという形をとっています。OSはWindowsXP、Office2007のOutlookでメールを作成しています。
投稿は今回が初めてで不慣れな点がありますが、不備等をご指摘いただければ幸いです。宜しくお願い致します。
-----------------------以下マクロの内容------------------------
Option Explicit
Sub MAKE_MAIL_ITEM()
Dim Tool As Workbook
Dim Sheet As Worksheet
Dim myoApp As Object
Dim myoExp As Object
Dim myNameSpace As Object
Dim myFolder As Object
Dim objMAIL As Object
Dim SendDay As String
Set Tool = ThisWorkbook
Set Sheet = Tool.ActiveSheet
' Outlookアプリのオブジェクト設定
Set myoApp = CreateObject("Outlook.Application")
' Outlookの規定フォルダをオブジェクト設定
Set myNameSpace = myoApp.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(6)
' Outlookで表示されているフォルダのアクティブ設定
Set myoExp = myoApp.ActiveExplorer
' アクティブフォルダがなければOutlook起動(表示)
If myoExp Is Nothing Then
myFolder.display
End If
' メールアイテムの作成
Set objMAIL = myoApp.CreateItem(0)
' 日付の取り込み
SendDay = Year(Date) & "年" & Month(Date) & "月" & Day(Date) & "日"
' メールの表示
objMAIL.display
' 宛先設定
objMAIL.To = Sheet.Cells(2, 2)
' CC設定
objMAIL.CC = Sheet.Cells(3, 2)
' Subjectを設定([$#Today#$]があれば日付に変換)
objMAIL.Subject = Replace(Sheet.Cells(4, 2), "[$#Today#$]", SendDay)
' 本文の代入([$#Today#$]があれば日付に変換)
objMAIL.Body = Replace(Sheet.Cells(5, 2), "[$#Today#$]", SendDay)
End Sub
No.1ベストアンサー
- 回答日時:
OutLookのVBAのHelpで検索したら
ReadReceiptRequested プロパティ
関連項目 対象 使用例 アプリケーション情報
True を設定すると、開封確認のメッセージが要求されます。このプロパティは、MAPI プロパティの PR_READ_RECEIPT_REQUESTED に対応しています。値の取得および設定が可能です。
expression.ReadReceiptRequested
expression 必ず指定します。MailItem オブジェクトを表すオブジェクト式を指定します。
のがありました。
objMAIL.ReadReceiptRequested=True
とかで試してみては如何でしょうか。
ご回答ありがとうございます。
どこかにあるだろうと思っていましたが、
いくら探してもなかったので助かりました。
これで開封確認設定の使い分けができるようになりました。
どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) Excel・ユーザーフォームの情報を受け渡したい 4 2022/06/08 10:11
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
VBAからPDFファイルにパスワー...
-
VBAで既に開いている別アプリケ...
-
エクセルマクロエラー「'Cells'...
-
エクセル/保護したシート上の埋...
-
実行時エラー 3265「要求された...
-
WSH createobjectで指定出来る...
-
ExcelのVBAについて(グラフ操作)
-
エクセルのVBAの標準モジュール...
-
VBScriptでCSVファイルのデータ...
-
コンパイルエラーの対処がわか...
-
Excelでフィルタをかけると警告...
-
【VB】【エクセル操作】 SaveAs...
-
エクセルVBAでcode128のバー...
-
VB6 ファイルのリネームの仕方
-
オブジェクト変数の取得について
-
マクロ初心者です。 インデック...
-
UserForm1.Showでエラーになり...
-
Word2007数式でIMEオン/オフを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
実行時エラー 3265「要求された...
-
Excelでフィルタをかけると警告...
-
VBAで既に開いている別アプリケ...
-
エクセルマクロエラー「'Cells'...
-
テキストボックス中の文字列の...
-
VBAで Set wb = Sheets(1).Cop...
-
ある文字列が全て数字であるか...
-
VBAからPDFファイルにパスワー...
-
VBScriptでファイルの日時順(降...
-
EXCEL VBA オートシェイプナン...
-
[VBA]CDOメッセージ送信エラー
-
エクセルVBAで2つの画像を比較...
-
PowerPointVBAでスライドマスタ...
-
UserForm1.Showでエラーになり...
-
上下の位置揃えについて
-
VBAで作成するメール(開封確認...
-
VBAについてです。 初心者です...
おすすめ情報