2013年8月14日水曜日

Excelをシート単位で検索する

概要

Excelで書かれた設計書から修正対象となる項目をいちいち開いて検索するのはめんどうなので、
指定したExcelファイルからシート単位で検索できるようにする
(行列まで調べるようにしたらやたら遅いのでやめた)


検索対象となるExcelファイルと検索する対象項目を指定して実行
・Excelファイルかどうかの判定は行わない
・検索対象が存在する場合は検索結果に「Excelファイル名(フルパス)」「ワークシート名」を返すようにする

関数


実行例

# 検索対象となるフォルダを指定
$FolderPath = "C:\Project\03.基本設計"
# 検索対象
$Target = "ユーザマスタ"

# 指定したフォルダからExcelファイル「xls」「xlsx 」を取得して検索する
Get-ChildItem $FolderPath -Recurse -Include *.xls,*.xlsx |
  ForEach-Object {
    # 検索
    Select-ExcelByWorkSheet -ExcelFilePath $_.FullName -Target $Target
  }

メモ

.Net Frameworkよりインスタンスを生成する

# インスタンス生成
PS > オブジェクト変数 = New-Object クラスの完全修飾名(引数)
# メソッドにアクセス
PS > オブジェクト変数.メソッド名(引数)

・.NET Framework からCOMオブジェクトを使用する

PS > オブジェクト変数 = New-Object -comobject クラスの完全修飾名(引数)

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。