「outlookメールメッセージを送信」でエラー

「outlookメールメッセージを送信」アクティビティを使うと、以下のようなエラーがでます。


メッセージ: 型 ‘Microsoft.Office.Interop.Outlook.ApplicationClass’ の COM オブジェクトをインターフェイス型 ‘Microsoft.Office.Interop.Outlook._Application’ にキャストできません。IID ‘{00063001-0000-0000-C000-000000000046}’ が指定されたインターフェイスの COM コンポーネント上での QueryInterface 呼び出しのときに次のエラーが発生したため、この操作に失敗しました: インターフェイスが登録されていません (HRESULT からの例外:0x80040155)。

例外の種類: System.InvalidCastException


Microsoft office soloを使っており、バージョンは最新のはずです。
一度アンインストールをしてから再インストールをしても同じエラーが出ます。
解決策が分かる方、いらっしゃいますでしょうか?

1 Like

OutlookパッケージをUiPathに再インストールしてみてください
それが機能するかどうかを確認する

ご回答ありがとうございます。
同じ画面からバージョンとランタイムルールも合わせてやってみましたが、まったく同じエラーが出ます。
ちなみにUIpathを使わずoutlook単体であればメール機能をすべて使えますし、UIpathにおいてはエクセルは問題なく使えます。

こんにちは

状況的にはOutlook側のCOMコンポーネントの登録がうまくいっていないように思えます。
ちなみにOfficeは新規インストールでしょうか?あるいはバージョンアップでしょうか?

試しにoutlook.exeを起動する際に/regserverオプションを付けてみて試してみる手はあるかもしれません。

ご回答ありがとうございます。

PC購入時にofficeはプリインストールされておらず、前のPC使用時に購入したoffice 2013をディスクからインストールしました。
しかし、これはライセンス台数の上限により使用できませんでした。
この段階では、インストールはされたがライセンスがなく使用できない状態だったと思います。
そこでoffice 365 soloをインターネットで購入し、おそらくアップグレードしたことになっていると思います。(office 2013をアンインストールする前にoffice 365 soloをインストールしたら、office 2013が消えていたため、おそらく自動的にアップデートされたと思います。)

同じようなエラーを調べていると、「タイプライブラリのバージョンで以前のものが残っているとエラーが起きる」というような情報を見つけたため、調べた手順でレジストリを見てみたりもしたのですが、レジストリをいじるほどの知識はなく途中で断念、、、。

ご回答にある「outlook.exeを起動する際に/regserverオプションを付けてみて試してみる」についてですが、これはUIpathのオプションでしょうか?
そのオプションを入力する欄が見つからなかったので、Outlook自体をそのオプションで起動すべく、 デスクトップの左下に「outlook.exe /regserver」と打ってみましたが、「Microsoft Outlookを起動できません。コマンドラインの引数が正しくありません。使用しているスイッチを確認してください。」というエラーが出ました。

こんにちは

前のバージョンのCOM登録情報が悪さしている可能性が高そうです。

OSのregsvr32コマンドで、必要なOutlookのコンポーネントを手動登録する方向が良さそうに思えます。
/regserverオプションでできれば良かったのですが、バージョンによるのかもしれません。

どのDllがそれに該当するか、今手元に情報がないので、お調べいただいて試してもらうのがよいかもしれません。

1 Like

ご回答ありがとうございます。
調べてみましたが、すぐに解決できないと感じたため、一掃すべくPCを初期化しました。
UIpath、officeともに最初からインストールしたところ、Outlookも正常に機能したため、やはり過去の何かが悪さをしていたのかもしれません。

根本的な解決は私の知識ではできませんでしたが、このようなエラーの場合、最悪「初期化」すればうまくいく可能性があることが分かりました。

皆様、ご回答ありがとうございました。

3 Likes