LoginSignup
2
5

More than 5 years have passed since last update.

【PS】PowerShellスクリプトの動作検証

Posted at

akira6592さんが作成されたPowershellスクリプトが自分が使用している環境で使えるか動作検証してみた。

複数Excelファイルの各シートのフォーカスをA1に、表示倍率を100%に統一するPowerShell

非常に便利なのでスクリプトでおすすめです!!

--

0.今回の動作検証について

今回、動作検証を実施した環境は以下のとおり。

Category Value
OS Windows7 Professional
PS 2.0
Excel Microsoft Excel 2010

--

1.スクリプト設計

akira6592さんが作成されたコードをベースとする。
但し、今回は処理過程が可視化できるように $excel.Visible のパラメータ値を $true に変更した。

ベースにしたソースコードについては、下記を参照ください。
複数Excelファイルの各シートのフォーカスをA1に、表示倍率を100%に統一するPowerShell

私が使用したソースコードは下記。

test.ps1
# カレントにて処理対象ファイル(xlsx)を取得 
$targetFiles = Get-ChildItem -Path *.xlsx

# Excelオブジェクト作成
$excel = New-Object -ComObject Excel.Application

# 処理経過を可視化(非表示にする場合は、$falseを指定する)
$excel.Visible = $true

# 処理ループ
foreach ($file in $targetFiles) {

    # Excelオープン
    $book = $excel.Workbooks.Open($file.FullName)

    # シートのループ処理
    foreach ($WorkSheet in $excel.Worksheets) {
        # 非表示シートは対象外
        if ($WorkSheet.Visible -ne $false) {
            # 処理対象のシートを選択状態にする
            $WorkSheet.Activate()

            # セル「A1」を選択状態にする
            $WorkSheet.Cells.Item(1,1).Select() | Out-Null

            # 表示倍率を100%にする
            $excel.ActiveWindow.Zoom = 100
        }

    }

    # 一番左のシートを選択状態にする(おまけ)
    $excel.Worksheets.Item(1).Activate()

    # 上書き保存する
    $book.save()
    $book.close()

}

# 閉じる
$excel.Quit()

# プロセスを解放する
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel) | Out-Null
Remove-Variable excel

--

2.検証方法

複数Excelファイルの各シートのフォーカスをA1に、表示倍率を100%に統一するPowerShellに記載されている方法で実施した。

スクリーンショット 2017-02-13 15.26.00.png

--

3.検証結果

複数Excelファイルの各シートのフォーカスをA1に、表示倍率を100%に統一するPowerShellで記載されていたバージョンよりも
古いバージョンにて検証を実施したが問題なく動作した。

--

4.まとめ

ドキュメント作成時のフォーマット確認作業が自動化できるため、非常に有効なツールと言える。
WordやPowerPointなどへの応用もできるため、今後試してみたい。

最後に、akira6592さん、非常に参考になる記事の投稿ありがとうございます。


2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5