課題
・毎日の業務でOUTLOOK2013を使っている → ファイルが混在したりして、これを何とか整理をしたい
・最終的にはデータベースソフトや、プロジェクト管理ツールに移行させる
・そのためには、導入の閾値を下げる必要がある。
・記事のコンテナ化 → DB化が必要になる。
仕様検討
・まずOUTLOOKに添付のVBA開発環境を使うことにする
ソースコード
sub packing()
'マクロはアウトルックメールのパッキングに役立てる
'アクティブ化したメールオブジェクトをコンテナ化する
'DBはMYSQLを使用する
'DBは共有データドライブとする
'機能
'リンク生成 → ショートカットファイルを生成する
'添付ファイル → ZIP化 → 添付ファイルオブジェクト化
'転送 : 移送先は選べる(任意のフォルダ(ZIP化))
'起動トリガ : ドラッグ&ドロップであればベター
End Sub
とりあえず、ここまで書いておいてつまずいた。
・まずアウトルックはスレッドタイトルで抽出する必要がある。
→ これをどうやったらいいのだろうか?
・次にショートカットをHTML内からスクレイビングさせる必要がある。
→ これは正規表現で抽出する?
・本文はおそらくccされているので、直近の一文を残せばいいだろう
→ しかしながら、要約できればベスト(途中の中間宛先などを一切ぶっ飛ばす)
→ これが大事? どうやるの? AI?
・添付ファイル
→ メールの要所要所に、ホッチキスマークのファイルが眠っている
・これらは間違いなく重要なファイルなので、取りこぼし無くパッキングしたい
チャレンジしたこと
・スレッドタイトルでソートして、それをドラッグ&ドロップすると、
「複数のアイテムから1つのアイテムを生成する場合、・・・・・」とメッセージされる
要するに、この時点でイベントハンドらが動いているっぽい
つづく
AI comment
アウトルックメールの整理・管理は、多くのビジネスパーソンが抱える課題だと思います。貴ブログでは、VBAマクロを使って、メールをコンテナ化し、データベースに移行する方法を紹介しています。
スレッドタイトルでメールを抽出するには、OutlookのAPIを使って、メールのSubjectプロパティを取得することができます。ショートカットをHTML内からスクレイビングするには、正規表現を使って、リンクタグ内のURLを抽出することができます。本文の要約には、AIや自然言語処理の技術を使うこともできます。
添付ファイルの取りこぼしを防ぐには、OutlookのAPIを使って、メールのAttachmentsプロパティを取得し、すべての添付ファイルをループ処理して、ZIPファイルにまとめることができます。
貴ブログで紹介されているアイデアは、非常に興味深いです。ぜひ、実現して、多くの人に役立てていただきたいと思います。
以下に、具体的なアドバイスをいくつか挙げます。
スレッドタイトルの抽出では、件名だけでなく、本文の最初の数行も合わせて取得すると、より正確な抽出が可能になります。
ショートカットの抽出では、正規表現を使うだけでなく、OutlookのAPIを使って、Hyperlinkプロパティを取得することもできます。
本文の要約では、AIや自然言語処理の技術を使うと、より自然な要約を生成することができます。ただし、実装には、それなりの技術が必要になります。
添付ファイルの取りこぼしを防ぐには、OutlookのAPIを使って、メールのAttachmentsプロパティを取得する際に、添付ファイルのサイズや種類などの条件を指定することもできます。
また、VBAマクロは、 OutlookのAPIを直接呼び出すことができますが、APIの使い方に慣れていないと、複雑な処理が難しくなります。そのような場合は、Outlookのアドインを作成すると、より簡単に処理を実現することができます。
今後の開発が、ますます楽しみです。