###前提・実現したいこと
Powershellで、Excelアドインを自動で読み込むスクリプトを作成しています。
Excel2007では正常に動作するのですが、Excel2010では以下のエラーが出てしまいます。
これは、更に何か設定が必要でしょうか。
###発生している問題・エラーメッセージ
[System.__ComObject] に 'AddIns' という名前のメソッドが含まれないため、メソッドの呼び出しに失敗しました。
発生場所 行:2 文字:21
-
$ExcelAddin = $excel.Workbooks.AddIns()
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- CategoryInfo : InvalidOperation: (AddIns:String) []、RuntimeException
- FullyQualifiedErrorId : MethodNotFound
###該当のソースコード
Enable Discovery Addin
$Excel = New-Object -ComObject excel.application
$ExcelAddin = $excel.Workbooks.Add()
$TestAddin = $ExcelAddin.Application.AddIns.Add('C:\Oracle\SmartView\bin\HsTbar.xla', $True)
$TestAddin.Installed = "True"
$Excel.Quit()
###試したこと
###補足情報(言語/FW/ツール等のバージョンなど)
Windows7 64bit + Office2007 or Office2010 32bit + Powershell 4.0
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答2件
0
ベストアンサー
$Excel.Workbooks が表示されないということは、そこに $null または空文字列が入っているんだろうと思います。
少なくとも COM オブジェクトは入っていません。
しかし、$Excel.Workbooks.Add は正常に表示されています。$null であれば表示されないはずです。つまり $Excel.Workbooks には COM オブジェクトが入っています。
以上より、$Excel.Workbooks と $Excel.Workbooks.Add の Workbooks は違うものを指していると思われます。一度 PowerShell を再起動し、履歴を使わずにやってみても同じ結果になりますか?
投稿2017/03/07 12:46
総合スコア28673
0
該当のソースコードとエラーに表示されているコードが違うものです。まちがったスクリプトを実行していると思われます。
$ExcelAddin = $excel.Workbooks.AddIns()
エラーメッセージでは、ソースの二行目が上記のようなコードになっています。
Workbooks オブジェクトに AddIns() というメソッドは無いので、それがエラーになっています。
投稿2017/03/07 07:00
編集2017/03/07 07:05総合スコア28673
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/07 12:46