Outlook2013のマクロによる閲覧ウインドゥ操作

多分こういうニーズは私以外でもあると思いますので投稿させていただきます。

以下、2点のマクロコードが書ける方、ご教示頂ければ幸いです。

VBAの知識は多少ありますので、自動起動マクロコードの記載方法等は分かるのですが、

Excelと違いオブジェクト名や指定コード記述のサンプルがWeb検索では見当たらず、対応に苦慮しております。
マクロ以外の方法でしたら分かっていますので、具体的なコードを書ける方のご回答を期待しています。

1.Outlookを終了する際に自動的に「閲覧ウインドゥ」の表示をオフにするマクロコード
(クイックアクセスツールバーへの登録やリボンからの選択ではなく、Outlook終了時に

自動でオフにすることにより、次回起動時の設定を固定する。表示変更対象は、クローズ時の

カレントメールフォルダか、受信フォルダ(何方かの設定方法がわかれば運用で対応します。)

2.アドレス帳にない外部からのメールが届いた場合、受信フォルダの閲覧ウインドゥを

オフにする受信ルールを設定するマクロコード

※モデレーター注 : この質問は別のトピックに投稿されましたが、内容から判断しこちらに移動させていただきました。
 移動前トピック : Outlook.com |Outlook プレビュー |電子メール

回答
回答
こんばんは。

> 「閲覧ウインドゥ」の表示をオフにするマクロコード

通常ですと下記のようにExplorerオブジェクトのShowPaneメソッドで非表示にすることができます。

Public Sub Sample()
  With Application.ActiveExplorer
    If .IsPaneVisible(olPreview) = True Then .ShowPane olPreview, False
  End With
End Sub

> Outlook終了時に自動でオフにする

アプリケーション終了時に何か処理を実行する場合、ApplicationオブジェクトのQuitイベントでの処理が考えられますが、Quitイベント発生時にはActiveExplorer(Explorerオブジェクト)がNothingになっているため、上記コードは使えません。

閲覧ウィンドウの表示状態がレジストリか何かに記録されているのであれば、その値を書き換えることによって処理が実現できるかもしれませんが、私の方ではそこまで調べ切れていません。
終了時にこだわらず他のイベント発生時等、別の方向での処理も考えてはいかがでしょうか。

> 2.アドレス帳にない外部からのメールが届いた場合、受信フォルダの閲覧ウインドゥをオフにする受信ルールを設定するマクロコード

ルール設定をマクロで行う理由は何でしょうか?
上記ルールを定義する場合、下記のようなマクロを用意して、

Public Sub HideReadingPane(Item As Outlook.MailItem)
  Application.ActiveExplorer.ShowPane olPreview, False
End Sub

1.メッセージを受信したとき
2.このコンピューターで送受信を行った場合のみ
3.スクリプト(HideReadingPane)を実行する
4.差出人がアドレス帳に登録されている場合を除く

というような設定になるかと思います。
通常マクロでルール設定を行う場合、RulesオブジェクトのCreateメソッドで処理を行いますが、上記ルールの場合はRuleActionオブジェクトのActionTypeプロパティがolRuleActionUnknownとなり、“プログラムによる新しいルールの作成のサポート”がサポートされていません( https://msdn.microsoft.com/ja-jp/library/ff868996.aspx 参照 )。

マクロで処理することもできなくはありませんが、仕分けルールのエクスポート・インポートでの対応も考えてみてはいかがでしょうか。

この返信が役に立ちましたか?

役に立ちませんでした。

素晴らしい!フィードバックをありがとうございました。

この返信の満足度をお教えください。

フィードバックをお送りいただきありがとうございます。今後のサイト改善に役立てて参ります。

この返信の満足度をお教えください。

フィードバックをお送りいただきありがとうございます。

回答
回答
こんばんは。

> 理由は、デフォルトで閲覧ウィンドゥをオフにしておくけれど、日中は状況により閲覧ウィンドゥをオンにするようなことができないか、と考えたものです。

であれば、「/nopreview」オプション( https://support.office.com/ja-jp/article/079164cd-4ef5-4178-b235-441737deb3a6 参照 )付きでOutlookを起動するショートカットとそうでないものを用意しておいて、状況に応じて使い分けてはいかがでしょうか。

ただ、JR K Yoshikawaさんが仰っているように、

> Spam Filter や Rules で Sand Box である Junk Mail Folder に送って、そこで確認したほうが妥当であるような気がします。

で、対応した方が手間が無くて良いかもしれません。

この返信が役に立ちましたか?

役に立ちませんでした。

素晴らしい!フィードバックをありがとうございました。

この返信の満足度をお教えください。

フィードバックをお送りいただきありがとうございます。今後のサイト改善に役立てて参ります。

この返信の満足度をお教えください。

フィードバックをお送りいただきありがとうございます。

 
 

質問情報


最終更新日 2021年1月29日 表示 514 適用先: