バージョン2.4.0から使用可能でExcelのインストールが不要な
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_処理済み |
移動先に同名の文書がある場合は、ファイル名に連番を付与する。
|
No. / 設定名 |
1 Excel文書をCSVに変換 |
|---|---|
|
実行対象 |
|
|
監視フォルダ |
{%GET_G(TopFolder)}\10_CSV変換 |
|
拡張子 |
*.xlsx |
|
下位フォルダ |
対象にしない |
|
スケジュール |
一定間隔 00:00:10 |
|
常時ログ出力 |
しない |
|
オープンチェック |
オープンチェックする。(3秒) |
|
サイズチェック |
しない |
|
実行条件 |
以下の動画をご覧ください。