使用するプログラムは、ホームページからダウンロードしますが、オプションの設定や、モジュールのインポートなど、セキュリティの厳しいOutlookなので、手作業が多くなっていますが、ご了承ください。

インストールにあたり、安心して使用していただくために、本ツールの基本方針をお知らせします。

<本ツールの基本方針>
・メールの削除は行いません
・個人情報は外部送信しません
・すべてローカル環境で動作します

#ページ内目次

#システム要件

本ツールは、下記のパソコンで開発しました。
 オペレーティングシステム:Windows11
 office : outlook(classic),Access
 outlook(new)は使ったことがありません。
windows10でも稼働させたことがあります。Accessは必須です。

#フォルダー構成

C:\ユーザー\ログインユーザー\
 meiwaku-email\     ’初回インストール時に自動で作成
 ├ meiwaku-backup\   ’outlook終了時にバックアップしたファイルを保存する場所(MAX10ファイル)
 │  ├ outlook_tableYYYYMMDDHHmmSS.accdb    ’バックアップしたファイル
 │  ├ outlook_tableYYYYMMDDHHmmSS.accdb    ’バックアップしたファイル
 ├ meiwaku-download\   ’ダウンロードしたファイルを保存する場所
 │  ├ frmWait.frm        ’フォーム定義ファイル
 │  ├ frmWait.frx        ’フォームバイナリファイル
 │  ├ モジュール.bas       ’モジュールのエクスポートファイル
 ├ meiwaku-tool\      ’実行するAccessプログラムを保存する場所
   ├ outlook.accdb       ’迷惑情報登録プログラム
   ├ outLook_relations.accdb  ’リレーション テーブル 自動更新プログラム
   ├ outlook_table.accdb    ’テーブル保存ファイル
C:\ユーザー\ログインユーザー\AppData\Local\
 meiwaku\     ’
 ├ csv\        'csvファイルの保存場所
 │ ├ MeiwakuLog.csv        ’自動仕分けログ。outlook内のプログラムで書き込んでいる
 │ ├ local_version.csv       ’ローカル環境のプログラムバージョン記録。インストールやバージョンアップ時に自動更新
 │ ├ version_update_history.csv  ’バージョンアップ履歴。プログラムで自動更新 
 ├ table_save\            'Accessテーブルの保存場所
 │ ├ save_table.accdb        ’テーブル保存ファイル(コピー元は、outlook_table.accdb)
 ├ installation\           'インストール時に自動で作成。インストールファイルを保存。
   ├ frmWait.frm             ’フォーム定義ファイル
   ├ frmWait.frx             ’フォームバイナリファイル
   ├ meiwaku_installer.accdb       ’ユーザーが使うインストーラー
   ├ meiwaku_version.csv         ’プログラムバージョン記録
   ├ meiwaku_アンインストール.accdb    ’アンインストーラー
   ├ outlook.accdb            ’迷惑情報登録プログラム
   ├ outLook_relations.accdb       ’リレーション テーブル 自動更新プログラム
   ├ outlook_table.accdb         ’テーブル保存ファイル
   ├ モジュール.bas              ’モジュールのエクスポートファイル

開発者が使用しているパソコンのoutlookを本番環境とする。
本番データは、原則開発者の1台目(ディスクトップ)のパソコンで作成する。外出先で2台目のパソコンでシステム修正をするときには、予め1台目のパソコンで、meiwaku-workspace内の最新のプログラムなどを保存するホルダーに書き込んでおくこと。

C:\ユーザー\ログインユーザー\
 meiwaku-email\
 ├ meiwaku-backup\        '<ユーザーのフォルダー>と同じ
 │ ├ outlook_tableYYYYMMDDHHmmSS.accdb    
 │ ├ outlook_tableYYYYMMDDHHmmSS.accdb    
 ├ meiwaku-download\      'vbeからエクスポートしたファイルを保存する場所
 │ ├ frmWait.frm
 │ ├ frmWait.frx
 │ ├ モジュール.bas
 ├ meiwaku-tool\        'Accessの改修は、この場所のファイルに変更を加える
   ├ outlook.accdb
   ├ outLook_relations.accdb
   ├ outlook_table.accdb      テーブルの中身は、開発者の迷惑情報

下記は、2台目のパソコンと共有するため、ネットワークフォルダー内に本番環境を作成している。

\OneDrive\ドキュメント\インターシステム\00インター事務所作業\迷惑メール対策\
 meiwaku-email\
 ├ meiwaku-maker\       ’ツールの運用環境作成プログラム
 │ ├ php\                    ’アップロード用phpファイル
 │ │ ├ upload02.php    
 │ ├ インストーラー\                    ’アップロード用phpファイル
 │ │ ├ meiwaku_installer.accdb     ’ユーザーが使うインストーラー  
 │ │ ├ meiwaku_アンインストール.accdb   ’アンインストーラー
 │ │ ├ MeiwakuMailSetup.accdb      ’ホームページからダウンロードされるプログラム。
 │ │ ├ MeiwakuMailSetup.zip       ’手作業でzipファイルに変換して、手作業でアップロードする。
 │ ├ meiwaku_maker.accdb     ’Web環境作成用のツール
 │ ├ meiwaku_version.csv     ’最新のバージョン情報
 │ ├ outlook_table.accdb     ’インストール用 空のテーブル
 ├ meiwaku-workspace\        ’meiwaku_maker.accdbで自動的に作成するフォルダー
   ├ meiwaku_webfile\      ’Web上に単体ファイルを保存するための、zipファイルを作る元ネタフォルダー
   │   │            ’<ツール運用サポートフォルダー>のinstallationフォルダーを参照
   │   ├ frmWait.frm
   │   ├ frmWait.frx
   │   ├ meiwaku_installer.accdb       
   │   ├ meiwaku_version.csv
   │   ├ meiwaku_アンインストール.accdb    
   │   ├ outlook.accdb
   │   ├ outLook_relations.accdb
   │   ├ outlook_table.accdb
   │   ├ モジュール.bas
   ├ meiwaku_webfile.zip    ’meiwaku_webfileフォルダーをzipファイルにしている。

http://ホームページトップフォルダー/
  installation_folder/          ’meiwaku_maker.accdbで自動的にアップロードするフォルダー類
   ├ meiwaku_webfile\         ’特定のファイルに変更があったときに、特定のファイルのみダウンロードするコピー元
   │  ├ frmWait.frm
   │  ├ frmWait.frx
   │  ├ meiwaku_version.csv
   │  ├ outlook.accdb
   │  ├ outLook_relations.accdb
   │  ├ outlook_table.accdb
   │  ├ モジュール.bas
   ├ meiwaku_webfile.zip      
   ├ MeiwakuMailSetup.zip        ’初回インストール時にダウンロードするzipファイル
   ├ upload02.php    
	

#outlookのオプション設定

リボンのメインタグに「開発」を表示させ、Visual Basic を使用可能とする

①ファイルタブ ⇒ ②オプション ⇒ ③リボンのユーザー設定 ⇒ ⑤(④の拡大図)開発のチェックボックスにチェックをいれる

#outlookのマクロのセキュリティ設定

【Outlook セキュリティ設定のお願い】
本ツールのインストールには、Outlook の VBA 設定変更が必要です。設定後は Outlook を再起動してください。

開発タブ ⇒ マクロのセキュリティ ⇒ すべてのマクロを有効にする(推奨しません。危険なコード・・・・ を選択

#プログラムの登録

①クラスモジュールの登録

「Microsoft Outlook Objects」のフォルダー内の「ThisOutlookSession」を開いて、下記のソースコードを貼り付ける。
(ソースコード)

Option Explicit         'ThisOutlookSession

'処理に変更があった場合でも、クラスモジュールの入れ替えを不要とするため、標準モジュールのイベント発生時のモジュールを呼び出すだけにしている。

'---------------------------------------
' Outlook 新着メールイベント用
'---------------------------------------
Sub Application_NewMailEx(ByVal EntryIDCollection As String)
    
    Call 新着メール自動仕分け(EntryIDCollection)

End Sub

'---------------------------------------
' Outlook 起動時(アプリ開始)
'---------------------------------------
Private Sub Application_Startup()

    Call アプリ開始のイベント発生
    
End Sub

'---------------------------------------
' Outlook 終了時(アプリ終了)
'---------------------------------------
Private Sub Application_Quit()

    Call アプリ終了のイベント発生
    
End Sub

(操作方法)

①開発タブ ⇒ ②Visual Basic ⇒ ③ThisOutlookSession を選択して、ソースコードを貼り付ける

このようになれば終了です。

②ホームページからプログラムをダウンロードしてインストール

プログラムをダウンロードして、インストールします。システム内の処理も含め、詳細を説明します。

STEP1 下記のボタンからプログラムをダウンロード

ダウンロードフォルダーに「MeiwakuMailSetup.accdb」ファイルをダウンロードします。

STEP2 zipファイルを すべて展開
①ダウンロードフォルダー ⇒

②meiwaku_installer.zipを右クリック ⇒ 

③すべて展開 をクリック
ダウンロードフォルダー内で展開すると、システムエラーが発生するので、「参照」ボタンを使って、別なフォルダーに展開してください(例えばディスクトップ)。
ディスクトップフォルダーで「すべて展開」させます。
ディスクトップフォルダーのディレクトリーが表示されるので、「MeiwakuMailSetup.accdb」をダブルクリックして起動します。
一瞬ですが、「ダウンロード中」の案内が表示されます。
STEP3 処理内容
  • ダウンロードしたMeiwakuMailSetup.accdbの処理
    • <ツール運用サポートフォルダー>のinstallationフォルダ作成
    • <Web環境フォルダー>からmeiwaku_version.csvをダウンロード
    • meiwaku_version.csvに記載されているファイルを<ツール運用サポートフォルダー>のinstallationフォルダにダウンロードする
    • インストーラー(meiwaku_installer.accdb)を起動して、自分自身は終了する
  • インストーラー(meiwaku_installer.accdb)の処理
    • メッセージ(迷惑メール自動仕分けツールのインストールを開始してよろしいですか。)を表示してインストールを開始する
    • <ユーザーのプログラム保存フォルダー>と<ツール運用サポートフォルダー>のフォルダーを作成
    • <ツール運用サポートフォルダー>からmeiwaku-downloadフォルダーへコピー
    • <ユーザーのプログラム保存フォルダー>にoutlook_table.accdbが存在していたら、<ツール運用サポートフォルダー>のtable_saveフォルダーに名前を変更して(save_table.accdb)コピーする。二度目以降のインストールで、今まで使用していた迷惑メール情報を保存しておく。
    • <ツール運用サポートフォルダー>から<ユーザーのプログラム保存フォルダー>のmeiwaku-toolフォルダーへファイルをコピーする。
    • <ツール運用サポートフォルダー>のmeiwaku_version.csvを同フォルダーのcsvフォルダーへを名称を変更して(local_version.csv)コピーする。
    • 保存していた迷惑メール情報(save_table.accdb)を<ユーザーのプログラム保存フォルダー>にインストールしたOutLook_table.accdbにインポートする。
    • OutLook.accdbのリレーションテーブルを張り替える。
    • 自分自身を終了させる。

③フォームを挿入する

VBAエディターを開きます。
新しいフォームを追加します。
「Microsoft Outlook Object」を右クリックして、ファイルのインポートを選択します。
ファイルのインポート選択画面が表示されます。
「C:\ユーザー\ログインユーザー\meiwaku-download\」フォルダーを開いて、frmWait.frm を選択します。
frmWait.frm が登録されました。画面を表示できます。

④標準モジュールを登録する

②「Microsoft Outlook Object」を右クリックして、ファイルのインポートを選択します。


 添付ファイルの「モジュール.bas」を標準モジュールにインポートする。 

#outlookにメニューを追加

リボンのメインタグに補助機能を呼び出すメニューを追加する。
(新しいタブ)の追加
  ファイル ⇒ オプション ⇒ リボンのユーザ設定 ⇒ 新しいタブ をクリックしてを追加する。
(新しいグループ)の追加
  新しいタブを選択し、新しいグループ をクリックして 新しいタブの下位に追加する。
(マクロ)を登録
  outlookのオプション画面の左側で、コマンドの選択で「マクロ」を選択しておく。
  右側の画面で、新しいグループを選択し、マクロの一覧から該当のマクロを選択し「追加>>」をクリックする。 

追加するメニューの一覧
(リボンタブ) (1行リボン)     (マクロ)
 自動仕分け 未読メールが対象 未読メール自動仕分け
   〃   選択メールが対象 選択したメールが対象
   〃   ログ参照     OpenLogCsv
   〃   ホームページ   OpenHomePage
 Access登録 選択メールから登録 Access選択メールから登録
   〃   メール構成を登録  Accessメール構成を登録

#ツールで使用する「整理:ツールのメール」フォルダーを追加

outlook起動時に、新着イベントを発生させ、受信トレイに溜まっている未読メールの迷惑メール判定を実施させるため、「迷惑メール自動仕分け起動時の連絡メールです。」のメールを自動的に送信させています。このメールを一般のメールと混在させないため、「整理:ツールのメール」フォルダーを追加して、ツールが送信したメールを自動仕分けさせる。

#Accessを配置

添付された下記のファイルをユーザフォルダーに配置する。
・OutLook.accdb
・OutLook_table.accdb
リンクテーブルを張り替える。

#Accessメール構成を登録

Access登録タブ ⇒ メール構成を登録 でAccessの登録画面を呼び出し登録する。

(ご参考)
迷惑メール仕分け先フォルダーは、「迷惑メール」フォルダーでも大丈夫ですが、メールプロバイダー(Gmail, Yahoo!メールなど)の迷惑メール仕分けと区別するため、新たなフォルダーの登録を推奨します。迷惑メールキーワードの確認もできるようになります。