2015年5月5日火曜日

複数のエクセルファイル から 条件に合ったもの を 開く バッチ

特定ディレクトリにある 一個以上のエクセルファイルから 更新日付が最新のものを開くための バッチプログラム

仕様
ターゲットディレクトリは、バッチファイル内に直書きする
更新日付が最新のエクセルファイルを開く…としているが、DIRコマンドのオプションで変更可能

↓↓↓ここから↓↓↓↓↓↓↓
:: -------------------------------------------------------------------
:: エクセルファイルのオープン
:: -------------------------------------------------------------------

:: ローカルPCのエクセルパスを設定する
set      work_ExcelProgramPath=C:\Program Files\Microsoft Office\………\EXCEL.EXE

:: ターゲットディレクトリを設定する
set      work_FolderPath=\\………\………\………\

:: ターゲットディレクトリにあるエクセルファイル名(一個以上)を取得する。
:: ソート順は更新日付の直近順
:: ソート結果はテキストファイルに書き出す
dir  /b  /o-d  "%work_FolderPath%"*.xls  >  tempExcelFileNameList.txt

:: ↑にて、エクセルファイルが0個の場合が有りえるならば、
:: このタイミングで ERRORLEVEL を調べて、 0 でなければ、相応の処理を行うこと


:: 取得したエクセルファイル名(一個以上)から
:: 更新日付が最も新しいエクセルファイル名のみ設定する。
:: ※この場合、複数行のエクセルファイル名が SETコマンドにリダイレクトされる可能性があるが
::   SETコマンドは、改行コードを検出した時点で文字列の取り込みを中止するので
::   問題は起きない
set  /p  work_FileNameToOpen=  <  tempExcelFileNameList.txt


:: 絶対パスを作成して、設定する
set      work_FullPathOfFile=%work_FolderPath%%work_FileNameToOpen%


:: startコマンドの第一引数は、ウインドウタイトルと見なされるので、ダミーを設定しておく
start  ""  "%work_ExcelProgramPath%"  "%work_FullPathOfFile%"

↑↑↑ここまで↑↑↑↑↑↑↑