ご無沙汰しております。
2010/7/7でPowerShell from Japan!! は2周年を迎えることができました。
最近エントリーが少なく、楽しみにされている方には本当に申し訳ありません。
今後ともご愛顧のほどよろしくお願いいたします。
さて、今回はPowerShellでExcelを操作する方法です。
まだ取り上げたことがなかったので記しておきます。
まずはExcelブックを作成する方法ですが、これにはNew-Objectコマンドレットを使用します。
また、作成したExcelを画面上に表示させる(起動する)には、作成したオブジェクトのVisibleプロパティをTrueにします。
下記がそのコード例です。
#Excelオブジェクトの作成 $xls = New-Object -ComObject Excel.Application #Excelを画面に表示する $xls.Visible = $True
次に既存のExcelファイルを開く方法です。
作成したExcelオブジェクトのWorkBooks.Open(ファイル名) を使用します。
また、1つ目のスプレッドシートに接続するにはWorksheets.Item(シート番号)を使用します。
下記がそのコード例です。
#既存のExcelファイルを開く $books = $xls.Workbooks.Open("C:\Work\Test.xls") #シートへ接続 $sheet = $book.Worksheets.Item(1)
今度はセル操作です。
先ほど接続したシートのオブジェクト($sheet)を使用して Cells.Item(行,列) プロパティに対して値をセットします。
下記がそのコード例です。
#セル(1,2)への書き込み $sheet.Cells.Item(1,2) = "TEST"
最後に作成したExcelを保存して終了します。
上書き保存はExcelオブジェクトのSaveメソッドを使用します。新規保存はSaveAs(ファイル名)メソッドを使用します。
あとは、ブックのクローズ、Excelのクローズをし、最後にガベージコレクタを動作させます。
下記がそのコード例です。
#上書き保存する $xls.ActiveWorkbook.Save() #ブックのクローズ $books.Close() #Excelのクローズ $xls.Quit() #ガベージコレクタを動作させる [GC]::Collect()
コメント
[…] るのはマジ http://blog.powershell-from.jp/?p=814 […]