
お世話になっております。
OutlookのVBAについてです。
メール送信後、送信済フォルダに送信済メールが追加された時に、VBAを実行しようとしておりますが、
VBAコードが実行できたり、出来なかったりします。
すべてのカテゴリのマクロを有効にしております。
Outlookを終了し、再度起動すると、実行されることがあります。
お手数ですみませんが、対処法のご教授をお願いできますでしょうか。
VBEで、Project1(VBAProject.OTM)の、Microsoft Outlook Objectsの、ThisOutlookSessionに、以下のようなコードを作成しました。
Option Explict
Dim WithEvents mySentItems As Items
Private Sub Application_ItemLoad(ByVal Item As Object)
End Sub
Private Sub Application_Startup()
Set mySentItems = Session.GetDefaultFolder(oldFolderSentMail).Items
End Sub
Private Sub mySentItems_ItemAdd(ByVal Item As Object)
' 実行したいコード
End Sub
条件は以下です。
Windows10 Pro 21H2(OSビルド 19044.2486)
Outlook:サブスクリプション製品 Microsoft 365 Apps for enterprise
何卒宜しくお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんにちは
outlookはよくわかりませんけれど・・
>メール送信後、送信済フォルダに送信済メールが追加された時に
タイミング的に送信時のイベントではダメなのでしょうか。
https://learn.microsoft.com/ja-jp/office/vba/api …
また、ご提示のコードでは
>GetDefaultFolder(oldFolderSentMail).Items
とありますが、Enum値を用いるのなら olFolderSentMail ではないかと推測しますけれど・・
もしかすると、未定義で0と解釈されていませんか?
0の場合に、エラーになるのかどうかは知りませんけれど・・
https://learn.microsoft.com/ja-jp/office/vba/api …
ご参考にでもなれば・・
当方の勘違いならスルーしてください。
No.1
- 回答日時:
この問題は一般的にはOutlookのキャッシュの問題によるものです。
Outlookのキャッシュをクリアすることで解決する可能性があります。Outlookのキャッシュをクリアする方法は次のとおりです。Outlookを終了する
Windows Startメニューで"File Explorer"を開く
ユーザーアカウントのApp DataのRoamingフォルダに移動する
Microsoftフォルダを開く
Officeフォルダを開く
Outlookフォルダを開く
下のファイルを削除する: Outlook.srs, Outcmd.dat
Outlookを再起動する
この方法で解決しない場合は、Outlookの設定を変更してVBAマクロのセキュリティレベルを下げることもできます。Outlookを開いて、[ファイル]タブから[オプション]をクリックし、[セキュリティセンター]を開きます。[マクロのセキュリティ]を選択して、"低"に設定します。
これらの方法が無効の場合は、Outlookの修復や再インストールを試すこともできます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Excel(エクセル) エクセル VBA実行中のApplication.ScreenUpdatingについて 3 2023/07/13 21:06
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) 【VBA】Excelで罫線を引きたい 3 2022/07/14 12:04
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
好きな人にLINEを送って、4時間...
-
表と票の違い
-
送信済みのメールを利用して、...
-
Outlook2003でAlt+Sで送信を無...
-
thunderbird 送信画面が100%で...
-
LINEで連続で送信取り消しする...
-
「FAX送信票」と「FAX送信表」...
-
VBA メール送信済で実行される...
-
LINEって、送った次の日になっ...
-
フィードバック送信のボタンを...
-
TeraTerm、Rloginでデバックし...
-
指定のWORKBOOKを前面表示する...
-
この女性の心理を教えて下さい...
-
MS ACCESSを利用して複数へのメ...
-
小説の賞の応募についてです。...
-
Gmailで添付ファイルを送りたい...
-
1通のメールが相手に大量に送信...
-
LINEでディスクの容量不足が表...
-
Gmailからのコピー貼り付けで
-
赤外線によるデータフォルダの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
本日、メッセージを送信した覚...
-
送信済みのメールを利用して、...
-
「FAX送信票」と「FAX送信表」...
-
好きな人にLINEを送って、4時間...
-
免許証などの画像を、ネット上...
-
Gmailで添付ファイルを送りたい...
-
1通のメールが相手に大量に送信...
-
指定のWORKBOOKを前面表示する...
-
フィードバック送信のボタンを...
-
LINEで連続で送信取り消しする...
-
thunderbird 送信画面が100%で...
-
VBA メール送信済で実行される...
-
表と票の違い
-
Thunderbirdで特定人物あての送...
-
Microsoft formsについての質問...
-
Access VBAでメール自動送信
-
Outlookのメール送信を取り消す...
-
Outlook2003でAlt+Sで送信を無...
-
一目惚れして声掛けた二個下の...
-
ヤフーメールの送信済みメール...
おすすめ情報