ExcelファイルをCSVに変換2 をお勧めいたします。
監視フォルダに格納されたExcel文書を読み込み、CSVファイルに保存するスクリプト(VBS)を出力して、出力したスクリプトをコマンド実行で実行します。
事前にスクリプト(VBS)作成してテストを行います。作成したスクリプトをeDocArrangement2のテキスト書き込みに入力して設定を作成します。
実行すると以下の様に動作します。
出力したvbsファイルをコマンド実行で実行します。
C:\Homeの下に、以下のような構成でフォルダを作り、準備します。
フォルダ構成は以下の通りです。
以下のフォルダに解凍すると設定が適用されます。
C:\Users\ユーザー名\AppData\Roaming\TechnoStyle\eDocArrangement2
グローバルデータの内容は以下の通りです。トップフォルダを変更する場合は、以下の定義を変更してください。グローバルデータは、「共通設定」から変更できます。
名前 | 値 |
---|---|
TopFolder | C:\Home\eDocArrangement2\Demo\Excel文書をCSVに変換 |
詳しい設定方法は、 設定例(共通)グローバルデータとログの設定 を参照して下さい。
実行ログファイル名 | {%GET_G(TopFolder)}\90_System\90_Log\Log.txt |
---|---|
エラーログファイル名 | {%GET_G(TopFolder)}\90_System\90_Log\ErrorLog.txt |
文字コード | SJIS |
方式 | 追加書き込み (日単位) |
Excel文書をCSV形式で保存するスクリプト(VBS)を実行する。
メイン画面のファイルリストを対象に繰り返し処理を行う。
ループ毎にユーザーデータをクリアする。
以下のファイルを書き込みオープンします。
{%GET_G(TopFolder)}\90_System\10_Temp\script.vbs
文字コード | SJIS |
---|---|
改行コード | なし |
出力先に既にファイルがある場合は、上書きする。
以下のテキストをテキスト書き込みオープン1でオープンされたファイルに出力する。
'------------------------------------------------------------------------- 'ExcelToCSV.vbs ' 'Excel文書をCSVファイルに変換します。 '------------------------------------------------------------------------- Option Explicit dim objExcel dim INPUT_FILE dim OUTPUT_FILE INPUT_FILE = "{%GET(FullPathFileName)}" OUTPUT_FILE = "{%GET_SEQUENCE_FILENAME({%GET_G(TopFolder)}\20_処理済み\{%GET(FileNameWithoutExtension)}.csv)}" 'CSV形式で保存 SaveCSV(INPUT_FILE) if IsObject(objExcel) then 'エクセルを終了します objExcel.Quit end if sub SaveCSV(inputFileName) dim xlCSV xlCSV = 6 '.xlsx,.xls以外のファイルは処理しない if lcase(right(inputFileName,4)) <> "xlsx" and _ lcase(right(inputFileName,3)) <> "xls" then exit sub end if 'Excelオブジェクトがない場合 if IsObject(objExcel) = false then 'エクセルオブジェクトを作成 set objExcel = CreateObject("Excel.Application") 'エクセル画面を非表示 objExcel.Visible = False end if 'ワークブックを開く objExcel.Workbooks.Open inputFileName '各種の確認ダイアログを非表示 objExcel.DisplayAlerts = False 'アクティブシートをCSV形式で保存 objExcel.ActiveSheet.SaveAs OUTPUT_FILE, xlCSV 'ワークブックを閉じる objExcel.Workbooks(1).Close end sub
テキスト書き込みオープン1でオープンされたファイルをクローズする。
以下のコマンドを実行する。
C:\Windows\System32\wscript.exe
{%GET_G(TopFolder)}\90_System\10_Temp\script.vbs /b
名前 | 値 |
---|
文書を以下の通り移動する。
移動元 | {%GET(FullPathFileName)} |
---|---|
移動先 | {%GET_G(TopFolder)}\20_処理済み |
移動先に同名の文書がある場合は、ファイル名に連番を付与する。
以下の動画をご覧ください。