監視フォルダに格納されたExcelファイルからセルの値を取得してファイル名に付与します。
Excelのインストールは不要です。
この例では請求書から会社名、請求日、請求金額を取得してファイル名に付与します。

この帳票の場合、ファイル名は「20250420_株式会社A_11000.xls」となります。
請求日はyyyyMMddにフォーマットして、会社名の末尾のスペースと御中をカットして、請求金額は数字のみにする編集を行っています。
C:\Homeの下に、以下のような構成でフォルダを作り、準備します。
フォルダ構成は以下の通りです。
以下のリンクから完成した設定をダウンロードしていただくことができます。
以下のフォルダに解凍すると設定が適用されます。
C:\Users\ユーザー名\AppData\Roaming\TechnoStyle\eDocArrangement2
グローバルデータの内容は以下の通りです。トップフォルダを変更する場合は、以下の定義を変更してください。グローバルデータは、「共通設定」から変更できます。
|
名前 |
値 |
|---|---|
TopFolder |
C:\Home\eDocArrangement2\Demo\Excelファイルのセル値を取得 |
詳しい設定方法は、設定例(共通)グローバルデータとログの設定を参照して下さい。
ログ設定
|
名前 |
値 |
|---|---|
TopFolder |
C:\Home\eDocArrangement2\Demo\Excelファイルのセル値を取得 |
|
実行ログファイル名 |
{%GET_G(TopFolder)}\90_System\90_Log\Log.txt |
|
エラーログファイル名 |
{%GET_G(TopFolder)}\90_System\90_Log\ErrorLog.txt |
|
文字コード |
UTF-8 |
|
方式 |
追加書き込み (日単位) |
ログ設定
共通ログ設定の内容でログを出力する。
メイン画面のファイルリストを対象に繰り返し処理を行う。
ループ毎にユーザーデータをクリアする。
以下のマクロを実行する。
#Excelファイルをオープン
{%EXCEL_OPEN_BOOK({%GET(FullPathFileName)})}
#請求日をyyyyMMddにフォーマット
{%SET_U(Format,1,セル,E7)}
{%SET_U(Format,1,フォーマット,yyyyMMdd)}
#請求金額を数字のみにフォーマット
{%SET_U(Format,2,セル,E21)}
{%SET_U(Format,2,フォーマット,0)}
#セル値を取得
{%EXCEL_GET_CELL_VALUES(Sheet1,B2|B5|E7|E21,,ExcelData,Format)}
{%SET_U(属性,帳票名,{%GET_U(ExcelData,1,1)})}
{%WRITE_LOG(帳票名:{%GET_U(属性,帳票名)})}
{%IF({%GET_U(属性,帳票名)}=御 請 求 書,
{%SET_U(属性,会社名,{%GET_U(ExcelData,2,1)})}
{%SET_U(属性,請求日,{%GET_U(ExcelData,3,1)})}
{%SET_U(属性,請求金額,{%GET_U(ExcelData,4,1)})}
#末尾の御中を削除
{%SET_U(属性,会社名,{%REGEX_REPLACE({%GET_U(属性,会社名)},\s*御中$,)})}
{%WRITE_LOG(会社名:{%GET_U(属性,会社名)})}
{%WRITE_LOG(請求日:{%GET_U(属性,請求日)})}
{%WRITE_LOG(請求金額:{%GET_U(属性,請求金額)})}
,)}
#クローズ
{%EXCEL_CLOSE_BOOK()}
以下の条件を判定して処理を分岐する。
{%IF({%GET_U(属性,帳票名)}=御 請 求 書,True,False)}
文書を以下の通り移動する。
|
移動元 |
{%GET(FullPathFileName)} |
|
移動先 |
{%GET_G(TopFolder)}\20_Out |
ファイル名を「{%GET_U(属性,請求日)}_{%GET_U(属性,会社名)}_{%GET_U(属性,請求金額)}{%GET(Extension)}」に変更する。
移動先に同名の文書がある場合は、ファイル名に連番を付与する。
コピー後に削除を行う。
文書を以下の通り移動する。
|
移動元 |
{%GET(FullPathFileName)} |
|
移動先 |
{%GET_G(TopFolder)}\30_Error |
移動先に同名の文書がある場合は、ファイル名に連番を付与する。
コピー後に削除を行う。
|
No. / 設定名 |
1 属性取得 |
|---|---|
|
実行対象 |
|
|
監視フォルダ |
{%GET_G(TopFolder)}\10_In |
|
拡張子 |
*.xls;*.xlsx; |
|
下位フォルダ |
対象にしない |
|
対象フォルダ(正規表現) |
|
|
スケジュール |
一定間隔 00:00:05 |
|
常時ログ出力 |
しない |
|
オープンチェック |
オープンチェックする。(3秒) |
|
サイズチェック |
しない |
|
ファイル取得数制限 |
しない |
|
実行条件 |
以下の動画をご覧ください。