2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« 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オブジェクトを操作する。 »