2025年08月22日
Thunderbird → Outlook へメール移行するアドインを書きました
Thunderbird → Outlook へメール移行するアドインを書きました。 (※ 表示言語は全て英語です)
HiraokaHyperTools/OutlookIMExToolsAddIn1: Import mails to Microsoft Office Outlook
私は Thunderbird 愛用者です。 Microsoft Office Outlook 愛用者とは真っ向から対立するかもしれません。
Thunderbird を愛用する理由は:
- フォルダを丸ごとコピーするだけで、バックアップできたり、 PC 間を引越ししたりできる点
- 壊れにくい点 (個人の感想)
- 全文検索が標準機能として実装されている点
- フリーソフトである点
そんな中、 OutlookIMExToolsAddIn1 を書いた理由は、サポートで利用する可能性があるからです。 あと Outlook アドイン開発の勉強のためでもあります。
大方の内容は 2025/08/20 の 1 日間で実装しました。 着手前から 「できそうだ」 という感触があり、 8 割がた構想が煮詰っていました。 あとの 2 割は 「今までやったことのない部分」です。 解決にどの程度の手がかかるか不明で、所要時間のみの問題であった部分です。
その 8 割がたには予備調査による結果も含んでいます。
Outlook では、下書き目的や、送信目的でのメールは VBA から操作して作成できますが、 今回の移行で扱ったような「受信したメール」の偽装方法が不明である、という未解決の課題がありました。
結局、正攻法は不明のままです。 ひとまず「受信したメール」を装った msg ファイルを工作により製造しました。 その msg ファイルをインポートして、属性情報を書き込む、という回避策を取りました。
Outlook など Microsoft Office のアドイン開発には 3 つの方法があります:
- COM アドイン
- VSTO アドイン
- Outlook アドイン (Web 技術ベース)
最初は COM アドインを選択する予定でした。 しかし VSTO アドインを後で知り、実はこちらの方が、開発作業の生産性が高かったので、VSTO アドインを選択しました。
Thunderbird の mbox 形式の読み取り機能についても、実データを参考にしました。 mbox 形式では一般に "From " で始まる行がメールとメールの間の区切りになりますが、メールの本文中に "From " があった場合はどうなりますか。 ">From " のように大なり記号を先頭に追加します、という仕様も考慮しています。
vCard 形式についても 「Outlook は ANSI 文字コードを使用したものしか理解できない。それ以外のものは文字化けを起こす」 という事がわかっていましたので、その点も設計時に考慮しました。
このように様々な考慮事項がありましたが、サポート業務などを介して事前に問題へ触れるチャンスが結構あり、プラスに働きました。
今話題の AI (GitHub Copilot) を Visual Studio 2022 と共に利用しました。 しかし現状の AI は 「設計には適していない」 事は様々な実験結果よりわかっていましたので、設計は全部自分でやりました。 コードの補完や修正については AI を利用する、という役割分担を自分の中で決めてコーディングを進めました。
HiraokaHyperTools/OutlookIMExToolsAddIn1: Import mails to Microsoft Office Outlook
私は Thunderbird 愛用者です。 Microsoft Office Outlook 愛用者とは真っ向から対立するかもしれません。
Thunderbird を愛用する理由は:
- フォルダを丸ごとコピーするだけで、バックアップできたり、 PC 間を引越ししたりできる点
- 壊れにくい点 (個人の感想)
- 全文検索が標準機能として実装されている点
- フリーソフトである点
そんな中、 OutlookIMExToolsAddIn1 を書いた理由は、サポートで利用する可能性があるからです。 あと Outlook アドイン開発の勉強のためでもあります。
大方の内容は 2025/08/20 の 1 日間で実装しました。 着手前から 「できそうだ」 という感触があり、 8 割がた構想が煮詰っていました。 あとの 2 割は 「今までやったことのない部分」です。 解決にどの程度の手がかかるか不明で、所要時間のみの問題であった部分です。
その 8 割がたには予備調査による結果も含んでいます。
Outlook では、下書き目的や、送信目的でのメールは VBA から操作して作成できますが、 今回の移行で扱ったような「受信したメール」の偽装方法が不明である、という未解決の課題がありました。
結局、正攻法は不明のままです。 ひとまず「受信したメール」を装った msg ファイルを工作により製造しました。 その msg ファイルをインポートして、属性情報を書き込む、という回避策を取りました。
属性情報の転記には IConverterSession::MIMEToMAPI を使用します。
これがまた曰く付きのものなのです。 Outlook と一緒に提供されるものなのですが、 App-V の仮想化により、 Outlook 2013 からは外部へ公開されなくなりました。
つまり Outlook 2013 からは、他のアプリが簡単に IConverterSession を利用できなくなりました。 これはセキュリティー云々の理由というよりかは、 仮想化の影響です。 つまり、 Office をインストールすることで Windows の環境を破壊しないように、 Windows への変更さえも仮想環境の内部に留める、という製品デザインによるものです。
逆にいうと Outlook 2013 と一緒に動作するアドインからは IConverterSession を問題なく利用できます。 この性質を尊重することにしました。
これがまた曰く付きのものなのです。 Outlook と一緒に提供されるものなのですが、 App-V の仮想化により、 Outlook 2013 からは外部へ公開されなくなりました。
つまり Outlook 2013 からは、他のアプリが簡単に IConverterSession を利用できなくなりました。 これはセキュリティー云々の理由というよりかは、 仮想化の影響です。 つまり、 Office をインストールすることで Windows の環境を破壊しないように、 Windows への変更さえも仮想環境の内部に留める、という製品デザインによるものです。
逆にいうと Outlook 2013 と一緒に動作するアドインからは IConverterSession を問題なく利用できます。 この性質を尊重することにしました。
Outlook など Microsoft Office のアドイン開発には 3 つの方法があります:
- COM アドイン
- VSTO アドイン
- Outlook アドイン (Web 技術ベース)
最初は COM アドインを選択する予定でした。 しかし VSTO アドインを後で知り、実はこちらの方が、開発作業の生産性が高かったので、VSTO アドインを選択しました。
vCard 形式についても 「Outlook は ANSI 文字コードを使用したものしか理解できない。それ以外のものは文字化けを起こす」 という事がわかっていましたので、その点も設計時に考慮しました。
このように様々な考慮事項がありましたが、サポート業務などを介して事前に問題へ触れるチャンスが結構あり、プラスに働きました。
今話題の AI (GitHub Copilot) を Visual Studio 2022 と共に利用しました。 しかし現状の AI は 「設計には適していない」 事は様々な実験結果よりわかっていましたので、設計は全部自分でやりました。 コードの補完や修正については AI を利用する、という役割分担を自分の中で決めてコーディングを進めました。
2025年07月25日
Arm64X について書きました
Arm64X — Arm64X ドキュメント
---
Arm64X は、一般に馴染みのない単語です。
Windows プログラムの形態の 1 つです。 Arm 版 Windows 11 で効果を発揮するバイナリーです。
ARM?
ARM の CPU で有名なものには Qualcomm 社の Snapdragon シリーズがあります (スマホでの話)。
Windows 以外の市場、例えば、スマホや MacBook 市場ではもう ARM CPU 一択という状況になりつつあります。
そういう意味では Intel 社と AMD 社が競って成立している Windows の x86_64 市場は、かなり古くからあり奇妙な戦場なのです。
Windows PC の CPU といえば、 Intel 社または AMD 社など互換メーカーのものが一般的のはずです。
少し前 2024 年 6 月に Copilot+ PC として ARM CPU 搭載 Windows 11 がデビューしました。 これがまた日本では不評なのです…
複合機のプリンタードライバー (CANON 社など) が ARM CPU に未対応、あるいは機能制限ありのものが多いのです。
印刷は、会社業務では必須のものですので、メーカーの対応が遅れている事には驚きです。
しかし、今や Copilot+ PC は
- AMD Ryzen AI 7 350
- インテル Core Ultra 7 258V (Lunar Lake)
といった CPU を搭載しています。
【最新版】Copilot+ PC対応スペックのノートパソコン 人気売れ筋ランキング によると
Qualcomm 社がピンチです!
ARM CPU 搭載 PC は 「バッテリー駆動時間が長い」 と言われていますが、それ以外の優位性が割と不明な印象です。
そこで、この危機的状況を助けたいと思いました。
1980 年代からパソコンの世界を見てきた私が、問題点の整理と、情報提供を目的として立ち上げたのが冒頭のサイトです。
この圧倒的不利が覆えるとは思いませんが、ある類の社会貢献として実施している意図があります。
---
Arm64X は、一般に馴染みのない単語です。
Windows プログラムの形態の 1 つです。 Arm 版 Windows 11 で効果を発揮するバイナリーです。
ARM?
ARM の CPU で有名なものには Qualcomm 社の Snapdragon シリーズがあります (スマホでの話)。
Windows 以外の市場、例えば、スマホや MacBook 市場ではもう ARM CPU 一択という状況になりつつあります。
そういう意味では Intel 社と AMD 社が競って成立している Windows の x86_64 市場は、かなり古くからあり奇妙な戦場なのです。
Windows PC の CPU といえば、 Intel 社または AMD 社など互換メーカーのものが一般的のはずです。
少し前 2024 年 6 月に Copilot+ PC として ARM CPU 搭載 Windows 11 がデビューしました。 これがまた日本では不評なのです…
複合機のプリンタードライバー (CANON 社など) が ARM CPU に未対応、あるいは機能制限ありのものが多いのです。
印刷は、会社業務では必須のものですので、メーカーの対応が遅れている事には驚きです。
しかし、今や Copilot+ PC は
- AMD Ryzen AI 7 350
- インテル Core Ultra 7 258V (Lunar Lake)
- Snapdragon X Plus X1P-42-100
といった CPU を搭載しています。
【最新版】Copilot+ PC対応スペックのノートパソコン 人気売れ筋ランキング によると
CPU メーカーの割合は 2025/08/22 時点で、このようになっています。
□ Intel(137)
□ AMD(130)
□ Qualcomm(62)
Qualcomm 社がピンチです!
ARM CPU 搭載 PC は 「バッテリー駆動時間が長い」 と言われていますが、それ以外の優位性が割と不明な印象です。
そこで、この危機的状況を助けたいと思いました。
1980 年代からパソコンの世界を見てきた私が、問題点の整理と、情報提供を目的として立ち上げたのが冒頭のサイトです。
この圧倒的不利が覆えるとは思いませんが、ある類の社会貢献として実施している意図があります。
2025年05月16日
DD32fts1Indexer.exe につきまして
直近で DD32fts1Indexer.exe につきまして 2 回程、お問い合わせ頂きました。
概略につきまして、こちらへ掲載いたします。
弊社、枚岡合金工具株式会社が提供しているプログラムです。
「PDF ファイルなどから、全文検索用の文字データを抽出し、データベースに反映するプログラム」です。
弊社が開発販売しています、文書管理・図面管理システム、デジタルドルフィンズのオプション機能としてご提供しています。
技術的には IFilter インターフェイス (filter.h) を使用して、文書から検索可能な文字情報を抽出しています。
IFilter そのものは「ファイルからプロパティー情報を抽出するための仕様書」のようなもので、
その仕様書に沿って作られたプログラム (DLL 形式) が存在します。
有名なものでは Microsoft Office 2010 フィルタ パック がございます。こちらをインストールすることで docx / xlsx / pptx などの文書ファイルから文字情報の抽出を可能にします。
PDF に対応するものつきましては Adobe PDF IFilter v6.0 や Adobe PDF iFilter 9 for 64-bit platforms があります (現在は提供終了)
DD32fts1Indexer.exe の動作が原因で、Windows Server のメモリー枯渇に至っているというお問い合わせがございます。
現在調査中です。
この危機的状況の回避手段としましては… タスク スケジューラ にて、タスク「DD32fts1Indexer定期実行」を「無効」にしてください。これにより実行されなくなり、回避が可能です。
追記:
PDF ファイルのフォント埋め込み情報にて `/BaseFont /Untitlted` という指定があると Adobe PDF iFilter 9 for 64-bit platforms では読み込みに問題を生じる可能性がある事がわかりました。
回避策としましては、他の IFilter をインストールします:
- Adobe iFilter 11 for 64-bit platforms
- 弊社開発の PDF 用代替 IFilter プログラム (https://github.com/HiraokaHyperTools/PDFSampleFilter2/releases)
概略につきまして、こちらへ掲載いたします。
弊社、枚岡合金工具株式会社が提供しているプログラムです。
「PDF ファイルなどから、全文検索用の文字データを抽出し、データベースに反映するプログラム」です。
弊社が開発販売しています、文書管理・図面管理システム、デジタルドルフィンズのオプション機能としてご提供しています。
技術的には IFilter インターフェイス (filter.h) を使用して、文書から検索可能な文字情報を抽出しています。
IFilter そのものは「ファイルからプロパティー情報を抽出するための仕様書」のようなもので、
その仕様書に沿って作られたプログラム (DLL 形式) が存在します。
有名なものでは Microsoft Office 2010 フィルタ パック がございます。こちらをインストールすることで docx / xlsx / pptx などの文書ファイルから文字情報の抽出を可能にします。
PDF に対応するものつきましては Adobe PDF IFilter v6.0 や Adobe PDF iFilter 9 for 64-bit platforms があります (現在は提供終了)
DD32fts1Indexer.exe の動作が原因で、Windows Server のメモリー枯渇に至っているというお問い合わせがございます。
現在調査中です。
この危機的状況の回避手段としましては… タスク スケジューラ にて、タスク「DD32fts1Indexer定期実行」を「無効」にしてください。これにより実行されなくなり、回避が可能です。
追記:
PDF ファイルのフォント埋め込み情報にて `/BaseFont /Untitlted` という指定があると Adobe PDF iFilter 9 for 64-bit platforms では読み込みに問題を生じる可能性がある事がわかりました。
回避策としましては、他の IFilter をインストールします:
- Adobe iFilter 11 for 64-bit platforms
- 弊社開発の PDF 用代替 IFilter プログラム (https://github.com/HiraokaHyperTools/PDFSampleFilter2/releases)
- その他 IFilter プログラム


