エクセルにて、毎日送信する定型メールを作成するマクロを作成しましたが、作成したメールに開封確認の要求を追加する設定がわかりません。エクセルのシートから要求の有無を指定させたいと考えています。もし、ご存じの方がいましたら、お知恵を拝借いただきたいです。
なお、エクセルでマクロを起動し、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で既に開いている別アプリケ...
-
実行時エラー 3265「要求された...
-
Excelでフィルタをかけると警告...
-
エクセルマクロエラー「'Cells'...
-
エクセルのVBAの標準モジュール...
-
VBAについてです。 初心者です...
-
EXCEL VBA オートシェイプナン...
-
UserForm1.Showでエラーになり...
-
テキストボックス中の文字列の...
-
ある文字列が全て数字であるか...
-
エクセルVBAでFor each文
-
横軸ラベルの追加に関するエラ...
-
メモリ解放について(ASP)
-
VBA (Row とRowsの違いについて)
-
VBで引数にDictionaryオブジェ...
-
PowerPointVBAでスライドマスタ...
-
EDINETの情報をEXCELにダウンロ...
-
VBScriptでExcelのグラフを貼り...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
実行時エラー 3265「要求された...
-
エクセルのVBAの標準モジュール...
-
VBAで既に開いている別アプリケ...
-
VBAで Set wb = Sheets(1).Cop...
-
テキストボックス中の文字列の...
-
PowerPointVBAでスライドマスタ...
-
エクセルマクロエラー「'Cells'...
-
VBAからPDFファイルにパスワー...
-
Excelでフィルタをかけると警告...
-
オブジェクトが見つかりません
-
ある文字列が全て数字であるか...
-
EXCEL VBA オートシェイプナン...
-
[VBA]CDOメッセージ送信エラー
-
VBAで作成するメール(開封確認...
-
VBAについてです。 初心者です...
-
VBA:オートシェイプの線の長...
-
VBで引数にDictionaryオブジェ...
-
AccessVBAで「dim dbs as datab...
おすすめ情報