

エクセルにて、毎日送信する定型メールを作成するマクロを作成しましたが、作成したメールに開封確認の要求を追加する設定がわかりません。エクセルのシートから要求の有無を指定させたいと考えています。もし、ご存じの方がいましたら、お知恵を拝借いただきたいです。
なお、エクセルでマクロを起動し、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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「Columns("A:C")」の列文字を...
-
worksheetFunctionクラスのVloo...
-
VBAからPDFファイルにパスワー...
-
エクセルのVBAの標準モジュール...
-
Excelでフィルタをかけると警告...
-
CreateObjectとGetObjectの違い
-
実行時エラー 3265「要求された...
-
AccessVBAで「dim dbs as datab...
-
WordにOLEで埋め込んだExcelでW...
-
エクセルVBAで配列内に空白デー...
-
[VBA]CDOメッセージ送信エラー
-
アクセスにてオブジェクト名変...
-
EXCEL VBA オートシェイプナン...
-
[C#]static void 関数内でthis
-
エクセルVBAでcode128のバー...
-
エクセルマクロエラー「'Cells'...
-
テキストボックス中の文字列の...
-
VBA:オートシェイプの線の長...
-
Excel VBAでWordの複数ファイル...
-
sheetsメソッドの失敗
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
テキストボックス中の文字列の...
-
エクセルのVBAの標準モジュール...
-
Excelでフィルタをかけると警告...
-
実行時エラー 3265「要求された...
-
上下の位置揃えについて
-
ExcelVBAでのNZ関数について
-
VBAで既に開いている別アプリケ...
-
VBAで Set wb = Sheets(1).Cop...
-
AccessVBAで「dim dbs as datab...
-
EXCEL VBA オートシェイプナン...
-
オブジェクト変数またはWITHブ...
-
[VBA]CDOメッセージ送信エラー
-
エクセルマクロエラー「'Cells'...
-
findメソッドの変数について
-
オブジェクトが見つかりません
-
ある文字列が全て数字であるか...
-
オブジェクト変数の取得について
-
CreateObjectとGetObjectの違い
おすすめ情報