【PowerShell講座】Excelを操作する

Excelを操作する

※この記事は「2023年7月24日」に更新しました。

PowerShell(パワーシェル)講座です。

今回は、PowerShell で Excel を操作する方法について。

ただし、前回も話した通り、私は、Excel を現在持っていないので、WPS Office の SpreadSheet(表計算ソフト)を検証に使っていきます。

Excel を持っているという方は、そちらを使ってください。

環境は、Windows 10(64bit)、PowerShell 6.1.2、WPS Office 2016 です。

ぱそた
SE、Web制作、販売を経験した管理人が解説します。

PowerShell から Excel を操作する

PowerShell から Excel を操作する方法を解説します。



Excel を起動させる

Excel を起動させる方法です。

$E = New-Object -ComObject Excel.Application

$E という変数にインスタンス化されたオブジェクトが格納されていると思ってもらうと良いです(New-Object のところ)。

あとはメソッドやプロパティにアクセスできるようになるので操作していきます。

$E.Visible = $true
ぱそた
こうすれば、実際に起動しているソフトが見えるようになります。

ちなみに、以下のようにすると画面上に表示させないようにできます。

$E.Visible = $false

ワークブックを作成する

ワークブックを作成する方法です。

$WB = $E.Workbooks.Add()

$WB は、変数です。

ぱそた
これでワークブックが追加されます。

次に、操作するためにシートを取得します。

$WS = $WB.Worksheets.item(1)

$WS は、変数です。

試しにシートの名前を変更してみます。

$WS.Name = "test"

シートの名前が test に更新されたかと思います。

セルを操作する

セルを操作する方法です。

$CELLS = $WS.Cells

$CELLS は、変数です。

ぱそた
試しに A1 と A2 に値を入力してみます。
$CELLS.Item(1,1) = "10"
$CELLS.Item(2,1) = "50"

値が更新されたかと思います。

ちなみに数式を入れることもできます。

$CELLS.Item(3,1) = "=A1+A2"

関数も使えました。

$CELLS.Item(4,1) = "=SUM(A1:A3)"

今までの実行結果は、以下の通りです。

Excel操作

ファイルを保存する

ファイルを保存する方法です。

ぱそた
名前を付けて保存します。
$WB.SaveAs("C:\powershell\excel\wps-spreadsheet-test1.xls")

ちなみに上書き保存の場合は以下の通りです。

$WB.Save()

Excel を閉じる

Excel を閉じる方法です。

$E.quit()

しかし、タスクマネージャーを見てみると、バックグラウンドプロセスにまだ残っています。

$CELLS = $null
$WS = $null
$WB = $null
$E = $null
[GC]::Collect()
ぱそた
これでプロセスを解放できました。

最後に

前回は、WPS Office を操作する方法を簡単に紹介しました。

WPS Office を操作する

【PowerShell講座】WPS Office を操作する

2020年1月13日

今回は、PowerShell(パワーシェル)で Excel を操作する方法について、解説しました。

Excel を階層構造で見ていき、それら一つ一つを操作するといった感じです。

PowerShell は .NET Framework も使えます。

コツコツやっていきます。