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_処理済み |
移動先に同名の文書がある場合は、ファイル名に連番を付与する。
以下の動画をご覧ください。