« PowerShellの1行バッチでコンソールウィンドウを最小化/最大化/元に戻す。 | トップページ | コマンドラインからPowerShellの1行バッチでExcelオブジェクトを操作する。 »

2007年12月26日 (水)

PowerShellからExcelオブジェクトを使う。

PowerShellからExcelオブジェクトを普通に使うことができません!:-(

$App=new-object -com Excel.Application;
$App.WorkBooks.Open("Excelファイルのフルパス");

"1" 個の引数を指定して "Open" を呼び出し中に例外が発生しました: "ライブラリの形式が古いか、または種類が無効です。 (HRESULT からの例外: 0x80028018 (TYPE_E_INVDATAREAD))"

PowerShellとExcelの間にScriptControlを挟めば、一応、使えますが、そこまでして使う意味があるかどうか。。。

$sc=new-object -com scriptcontrol;
$sc.language='vbscript';
$sc.timeout=-1;
$sc.addcode(@'
Set App=CreateObject("Excel.Application")
App.Visible=True
App.UserControl=True
App.AutomationSecurity=2
Set Book=App.WorkBooks.Open("Excelファイルのフルパス")
'@)

« PowerShellの1行バッチでコンソールウィンドウを最小化/最大化/元に戻す。 | トップページ | コマンドラインからPowerShellの1行バッチでExcelオブジェクトを操作する。 »