使いどころ
未だにExcelによる申請書とかが多く、マクロ作るのが権限的にできなかったり他のソフト(rubyとかPythonとか)をインストールできない現場で苦肉の策としてPowershellを使って動かすことになったのでメモ。 Powershellも権限的にスクリプトファイルを実行できない場合もあるけど、最悪でもテキストを流し込んで実行できるのでメモ。
powershellの基本的な出力
Write-Output("リダイレクトするとファイルに出力される") Write-Host("リダイレクトしてもファイルに出力されない")
スクリプト実行権限ポリシーの変更
powershellで以下を実行
Set-ExecutionPolicy RemoteSigned
ExcelBookのオープンクローズ
Excelオブジェクトの作成
$excel = New-Object -ComObject Excel.Application
実行するExcelの可視化設定
$excel.Visible = $false
Excel Bookのオープン
$xlsxBook = $excel.Workbooks.Open($xlsxName)
Excelのクローズ
# ブックを閉じる $xlsxBook.Close() # Excelオブジェクトの終了 $excel.Quit() # インスタンスの削除 $excel = $null
シートの取得
$sheet = xlsxBook.Worksheets $xSheet = $sheet.Item("シート名")
シート名、インデックス
Write-Host($xSheet.Name) Write-Host($xSheet.Index)
セルの値
$cVal = $xSheet.Range("A2").Text $cVal = $xSheet.Cells(2, 1).Text