0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【備忘録】Add-Type: Cannot find path 'Microsoft.Office.Interop.Excel.dll' because it does not exist.エラーの対処法

Posted at

プロジェクトで使用するExcel操作用のPowerShellスクリプトが、バージョンの影響か、端末の違いか、私の環境でだけ動かなかった。
対処法を備忘録として残す。

エラーメッセージ

スクリプト実行時、以下のエラーメッセージが表示される。

Cannot find path 'C:\スクリプト実行場所\Microsoft.Office.Interop.Excel.dll'because it does not exist.

スクリプト内の以下行でエラーになっているらしい。

Add-Type -AssemblyName "Microsoft.Office.Interop.Excel"

PowerShell 5の場合、正常に実行できた。
7系で実行すると私はエラーになるが、他の端末ではできた人もいるので、原因は不明。

解決方法

パスが見つからないと言われているので、とりあえずMicrosoft.Office.Interop.Excel.dll をWindows内で探してみると、以下の4つが見つかった。

C:\Program Files\Microsoft Office\root\Office16\ADDINS\PowerPivot Excel Add-in\Microsoft.Office.Interop.Excel.dll
C:\Program Files\Microsoft Office\root\Office16\ADDINS\Microsoft Power Query for Excel Integrated\bin\Microsoft.Office.Interop.Excel.dll
C:\Program Files\Microsoft Office\root\Office16\ADDINS\PowerPivot Excel Add-inv16\Microsoft.Office.Interop.Excel.dll
C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\15.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll

上から、スクリプト内のAdd-Type -AssemblyNameの該当箇所にdllファイルをパス指定してあげると、2つ目のdllファイルで無事動くようになった。

Add-Type -AssemblyName "C:\Program Files\Microsoft Office\root\Office16\ADDINS\Microsoft Power Query for Excel Integrated\bin\Microsoft.Office.Interop.Excel.dll"
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?