Windows で Outlookのメール送信などコントロールする場合
Interop.Microsoft.Office.Interop.Outlook.dll というCOMを使います
下記のようにCOMは Excel VBA などから利用できます
この Outlook COMの 実態は、 わたしの環境では
C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Outlook\15.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Outlook.dll
↑ここにありました
当然 COMなので 他のディレクトリにコピーしても機能しません
VBAなどで 下記のように書くとOutlookが使えるようになります
Dim o1 As Outlook.Application Set o1 = New Outlook.Application
上記コードをVBA実行し
下記↓のエラーが出る場合
Unable to cast COM object of type to interface type 'Microsoft.Office.Interop.Outlook.Application'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{00063001-0000-0000-C000-000000000046}' failed due to the following error: タイプ ライブラリ/DLL の読み込みエラーです。 (0x80029C4A (TYPE E CANTLOADLIBRARY)).
↑ Office (Outlook) インストール時に Interop.Microsoft.Office.Interop.Outlook の レジストリ登録が失敗している。
壊れているのは COM(Interop.Outlook.Application)だけで OUTLOOK.EXE は 問題なく動くので この問題の発見されずらい
上記URLにも書いているが 壊れたレジストリを修復する必要がある
コントロールパネルの「プログラムと機能」から Officeを選択し クイック修復すると
この COMエラー問題が解決する可能性もあるらしい