使用するプログラムは、ホームページからダウンロードしますが、オプションの設定や、モジュールのインポートなど、セキュリティの厳しいOutlookなので、手作業が多くなっていますが、ご了承ください。
インストールにあたり、安心して使用していただくために、本ツールの基本方針をお知らせします。
<本ツールの基本方針>
・メールの削除は行いません
・個人情報は外部送信しません
・すべてローカル環境で動作します
#ページ内目次
- システム要件
- フォルダー構成
- outlookのオプション設定
- outlookのマクロのセキュリティ設定
- プログラムの登録
- outlookにメニューを追加
- ツールで使用する「整理:ツールのメール」フォルダーを追加
- Accessを配置
- Accessメール構成を登録
#システム要件
本ツールは、下記のパソコンで開発しました。
オペレーティングシステム: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ファイルにしている。
<Web環境フォルダー>
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!メールなど)の迷惑メール仕分けと区別するため、新たなフォルダーの登録を推奨します。迷惑メールキーワードの確認もできるようになります。