証拠番号を刑事番号毎に採番して書証に貼り付ける

概要

監視フォルダに格納されたDocuWorks文書に証拠番号を自動採番して貼り付けます。証拠番号は刑事番号毎にカウントアップされます。

実行すると以下の様に動作します。

eDocArrangement2
\10_証拠番号取得
\○○地方裁判所
\令和6年(ワ)第17号
証拠資料.xdw
移動
\20_処理済み
甲1号証
甲 第1号証_令和6年(ワ)第17号_○○地方裁判所.xdw
コピー
\○○地方裁判所
\令和6年
\令和6年(ワ)第17号
甲1号証
甲 第1号証_令和6年(ワ)第17号_○○地方裁判所.xdw

刑事番号フォルダの下にイロハやABCなどの被告人フォルダを作成すると証拠番号が「甲イ 第1号証」のようになります。

証拠番号取得フォルダの下位フォルダがすべて監視対象になりますので、刑事番号フォルダや被告人フォルダはユーザー様で自由に作成することができます。

  • 10_証拠番号取得
    • ○○地方裁判所
      • 令和6年(ワ)第17号
        • イ
        • ロ
        • ハ
eDocArrangement2
\10_証拠番号取得
\○○地方裁判所
\令和6年(ワ)第17号
\イ
証拠資料.xdw
移動
\20_処理済み
甲イ1号証
甲イ 第1号証_令和6年(ワ)第17号_○○地方裁判所.xdw
コピー
\○○地方裁判所
\令和6年
\令和6年(ワ)第17号
甲イ1号証
甲イ 第1号証_令和6年(ワ)第17号_○○地方裁判所.xdw

設定の前準備

C:\Homeの下に、以下のような構成でフォルダを作り、準備します。

フォルダ構成のダウンロード

証拠番号を刑事番号毎に採番して書証に貼り付ける_フォルダ構成.zip

Cドライブのルートに解凍してください。

フォルダ構成は以下の通りです。

  • C:\Home\eDocArrangement2\Demo\証拠番号を刑事番号毎に採番して書証に貼り付ける
    • 10_証拠番号取得
      • ○○地方裁判所
        • 令和6年(ワ)第17号
          • 新規 DocuWorks文書.xdw
    • 20_処理済み
    • 50_保管
    • 90_System
      • 90_Log

設定ファイル

以下のリンクから完成した設定をダウンロードしていただくことができます。

設定ファイルのダウンロード

証拠番号を刑事番号毎に採番して書証に貼り付ける_設定.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

方式

追加書き込み (日単位)

バッチ設定

証拠番号取得

ログ設定

共通ログ設定の内容でログを出力する。

  • ファイルの繰り返し1
    Loop File

メイン画面のファイルリストを対象に繰り返し処理を行う。

ループ毎にユーザーデータをクリアする。

  • 属性取得
    Macro Execute

以下のマクロを実行する。

{%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(属性,年号)})}
  • 証拠番号取得
    Macro Execute

以下のマクロを実行する。

#証拠番号ファイル
{%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)}
  • XDW文書オープン1
    Open DocuWorks File

DocuWorksファイル「{%GET(FullPathFileName)}」を読み書き可能でオープンする。

バインダーを新規作成する場合は、ページ最大サイズでカラーは青とする。

  • ページの繰り返し1
    Loop DocuWorks Page

「{%DW_GET(OpenName)}」でオープンされた文書のページを先頭から繰り返し処理を行う。

  • 証拠番号り付け
    Paste Text Annotation

「{%DW_GET(OpenName)}」でオープンされた文書のページ{%DW_GET(PageLoopCount)}に以下のテキストアノテーションを貼り付ける。

{%GET_U(属性,号証)}

X座標(mm)

40

Y座標(mm)

5

文字色

黒

背景色

無し

原点

右上

ページ内に収める。

フォント

フォント名

游ゴシック

フォントサイズ

12

太字

False

斜体

False

取り消し線

False

下線

False

文字セット

128

詳細設定

向き

横書き

回転角度

行間隔(行)

文字間隔(Point)

マージン(mm)上,右,下,左

,,,

  • 刑事番号貼り付け
    Paste Text Annotation

「{%DW_GET(OpenName)}」でオープンされた文書のページ{%DW_GET(PageLoopCount)}に以下のテキストアノテーションを貼り付ける。

{%GET_U(属性,裁判所名)} {%GET_U(属性,事件番号)}

X座標(mm)

15

Y座標(mm)

5

文字色

黒

背景色

無し

原点

左上

ページ内に収める。

フォント

フォント名

游ゴシック

フォントサイズ

12

太字

False

斜体

False

取り消し線

False

下線

False

文字セット

128

詳細設定

向き

横書き

回転角度

行間隔(行)

文字間隔(Point)

マージン(mm)上,右,下,左

,,,

  • XDW文書クローズ1
    Close DocuWorks File

「{%DW_GET(OpenName)}」でオープンされた文書をクローズする。クローズ前に文書を保存する。

バインダー内の文書、オリジナルデータを追加する場合は、末尾に追加する。

  • 条件分岐1
    If

以下の条件を判定して処理を分岐する。

処理階層内のエラー回数が0回。

  • 満たしている場合
    If Then
  • ファイルコピー1
    Copy File

文書を以下の通りコピーする。

コピー元

{%GET(FullPathFileName)}

コピー先

{%GET_G(TopFolder)}\50_保管\{%GET_U(属性,裁判所名)}\{%GET_U(属性,年号)}\{%GET_U(属性,事件番号)}

ファイル名を「{%GET_U(属性,ファイル名)}」に変更する。

コピー先に同名の文書がある場合は、ファイル名に連番を付与する。

  • ファイル移動2
    Move File

文書を以下の通り移動する。

移動元

{%GET(FullPathFileName)}

移動先

{%GET_G(TopFolder)}\20_処理済み

ファイル名を「{%GET_U(属性,ファイル名)}」に変更する。

移動先に同名の文書がある場合は、ファイル名に連番を付与する。

コピー後に削除を行う。

  • 満たしていない場合
    If Else
  • ファイル移動1
    Move File

文書を以下の通り移動する。

移動元

{%GET(FullPathFileName)}

移動先

{%GET_G(TopFolder)}\80_エラー

移動先に同名の文書がある場合は、ファイル名に連番を付与する。

コピー後に削除を行う。

監視設定(eDocArrangement 2 Schedulerの設定)

No. / 設定名

1 証拠番号取得

実行対象

証拠番号取得

監視フォルダ

{%GET_G(TopFolder)}\10_証拠番号取得

拡張子

*.xdw

下位フォルダ

対象

対象フォルダ(正規表現)

スケジュール

一定間隔 00:00:05

常時ログ出力

しない

オープンチェック

オープンチェックする。(3秒)

サイズチェック

しない

実行条件

動作確認

以下の動画をご覧ください。