監視フォルダに格納されたDocuWorks文書に証拠番号を自動採番して貼り付けます。証拠番号は刑事番号毎にカウントアップされます。
実行すると以下の様に動作します。
刑事番号フォルダの下にイロハやABCなどの被告人フォルダを作成すると証拠番号が「甲イ 第1号証」のようになります。
証拠番号取得フォルダの下位フォルダがすべて監視対象になりますので、刑事番号フォルダや被告人フォルダはユーザー様で自由に作成することができます。
C:\Homeの下に、以下のような構成でフォルダを作り、準備します。
フォルダ構成は以下の通りです。
証拠番号を刑事番号毎に採番して書証に貼り付ける_設定.zip
以下のフォルダに解凍すると設定が適用されます。
C:\Users\ユーザー名\AppData\Roaming\TechnoStyle\eDocArrangement2
グローバルデータの内容は以下の通りです。トップフォルダを変更する場合は、以下の定義を変更してください。グローバルデータは、「共通設定」から変更できます。
| 名前 | 値 |
|---|---|
TopFolder |
C:\Home\eDocArrangement2\Demo\証拠番号を刑事番号毎に採番して書証に貼り付ける |
詳しい設定方法は、 設定例(共通)グローバルデータとログの設定 を参照して下さい。
| 実行ログファイル名 | {%GET_G(TopFolder)}\90_System\90_Log\Log.txt |
|---|---|
| エラーログファイル名 | {%GET_G(TopFolder)}\90_System\90_Log\ErrorLog.txt |
| 文字コード | UTF-8 |
| 方式 | 追加書き込み (日単位) |
共通ログ設定の内容でログを出力する。
メイン画面のファイルリストを対象に繰り返し処理を行う。
ループ毎にユーザーデータをクリアする。
以下のマクロを実行する。
{%SET_U(属性,裁判所名,{%REGEX_CAPTURE(([^\\]+裁判所)\\,{%GET(FolderPath)})})}
{%SET_U(属性,事件番号,{%REGEX_CAPTURE(([^\\]+号)(?:\\|$),{%GET(FolderPath)})})}
{%SET_U(属性,原告人,{%REGEX_CAPTURE({%ESCAPE_REGEX({%GET_U(属性,事件番号)})}\\([^\\]+),{%GET(FolderPath)})})}
{%SET_U(属性,年号,{%REGEX_CAPTURE((.+年),{%GET_U(属性,事件番号)})})}
{%WRITE_LOG(裁判所名:{%GET_U(属性,裁判所名)})}
{%WRITE_LOG(事件番号:{%GET_U(属性,事件番号)})}
{%WRITE_LOG(原告人:{%GET_U(属性,原告人)})}
{%WRITE_LOG(年号:{%GET_U(属性,年号)})}
以下のマクロを実行する。
#証拠番号ファイル
{%SET_U(wk,証拠番号ファイル名,{%GET(FolderPath)}\証拠番号(発行済み).txt)}
{%IF({%EXISTS_FILE({%GET_U(wk,証拠番号ファイル名)})}=True,
#証拠番号.txtがある場合
{%READ_FILE({%GET_U(wk,証拠番号ファイル名)},証拠番号,SJIS,ALL)}
{%SET_U(属性,証拠番号,{%REGEX_CAPTURE((\d+),{%GET_U(証拠番号,1)})})}
#カウントアップ
{%SET_U(属性,証拠番号,{%CALC({%GET_U(属性,証拠番号)}+1)})}
,
#証拠番号.txtがない場合
{%SET_U(属性,証拠番号,1)}
)}
#証拠番号ファイル更新
{%SET_U(証拠番号,1,{%GET_U(属性,証拠番号)})}
{%WRITE_FILE({%GET_U(wk,証拠番号ファイル名)},証拠番号,SJIS,New)}
{%WRITE_LOG(証拠番号:{%GET_U(属性,証拠番号)})}
#号証
{%SET_U(属性,号証,甲{%GET_U(属性,原告人)} 第{%GET_U(属性,証拠番号)}号証)}
#ファイル名
{%SET_U(属性,ファイル名,{%GET_U(属性,号証)}_{%GET_U(属性,事件番号)}_{%GET_U(属性,裁判所名)}.xdw)}
DocuWorksファイル「{%GET(FullPathFileName)}」を読み書き可能でオープンする。
バインダーを新規作成する場合は、ページ最大サイズでカラーは青とする。
「{%DW_GET(OpenName)}」でオープンされた文書のページを先頭から繰り返し処理を行う。
「{%DW_GET(OpenName)}」でオープンされた文書のページ{%DW_GET(PageLoopCount)}に以下のテキストアノテーションを貼り付ける。
{%GET_U(属性,号証)}
| X座標(mm) | 40 | Y座標(mm) | 5 |
|---|---|---|---|
| 文字色 | 黒 | 背景色 | 無し |
| 原点 | 右上 | ||
|---|---|---|---|
ページ内に収める。
| フォント名 | 游ゴシック |
|---|---|
| フォントサイズ | 12 |
| 太字 | False |
| 斜体 | False |
| 取り消し線 | False |
| 下線 | False |
| 文字セット | 128 |
| 向き | 横書き |
|---|---|
| 回転角度 | |
| 行間隔(行) | |
| 文字間隔(Point) | |
マージン(mm) 上,右,下,左 |
,,, |
「{%DW_GET(OpenName)}」でオープンされた文書のページ{%DW_GET(PageLoopCount)}に以下のテキストアノテーションを貼り付ける。
{%GET_U(属性,裁判所名)} {%GET_U(属性,事件番号)}
| X座標(mm) | 15 | Y座標(mm) | 5 |
|---|---|---|---|
| 文字色 | 黒 | 背景色 | 無し |
| 原点 | 左上 | ||
|---|---|---|---|
ページ内に収める。
| フォント名 | 游ゴシック |
|---|---|
| フォントサイズ | 12 |
| 太字 | False |
| 斜体 | False |
| 取り消し線 | False |
| 下線 | False |
| 文字セット | 128 |
| 向き | 横書き |
|---|---|
| 回転角度 | |
| 行間隔(行) | |
| 文字間隔(Point) | |
マージン(mm) 上,右,下,左 |
,,, |
「{%DW_GET(OpenName)}」でオープンされた文書をクローズする。クローズ前に文書を保存する。
バインダー内の文書、オリジナルデータを追加する場合は、末尾に追加する。
以下の条件を判定して処理を分岐する。
処理階層内のエラー回数が0回。
文書を以下の通りコピーする。
| コピー元 | {%GET(FullPathFileName)} |
|---|---|
| コピー先 | {%GET_G(TopFolder)}\50_保管\{%GET_U(属性,裁判所名)}\{%GET_U(属性,年号)}\{%GET_U(属性,事件番号)} |
ファイル名を「{%GET_U(属性,ファイル名)}」に変更する。
コピー先に同名の文書がある場合は、ファイル名に連番を付与する。
文書を以下の通り移動する。
| 移動元 | {%GET(FullPathFileName)} |
|---|---|
| 移動先 | {%GET_G(TopFolder)}\20_処理済み |
ファイル名を「{%GET_U(属性,ファイル名)}」に変更する。
移動先に同名の文書がある場合は、ファイル名に連番を付与する。
コピー後に削除を行う。
文書を以下の通り移動する。
| 移動元 | {%GET(FullPathFileName)} |
|---|---|
| 移動先 | {%GET_G(TopFolder)}\80_エラー |
移動先に同名の文書がある場合は、ファイル名に連番を付与する。
コピー後に削除を行う。
以下の動画をご覧ください。