WinActorノートで表形式のテキストファイルから特定列を抽出するサンプルシナリオ

v6専用
2019.05.31【25_WinActorノート】
空白区切りで表形式になっているテキストフォーマットから、WinActorノートを用いて特定列を抽出するために編集加工をするサンプルシナリオです。

※本サンプルシナリオをダウンロードする前に、こちらの注意事項を必ずご確認ください。

DOWNLOAD
178.6 KB
WinActorノートで表形式のテキストファイルから特定列を抽出するサンプルシナリオ

WinActorノートで表形式のテキストファイルから特定列を抽出するサンプルシナリオ

はじめに

空白区切りで表形式になっているテキストフォーマットから、WinActorノートを用いて特定列を抽出するために編集加工をするサンプルシナリオ(以降、本サンプルシナリオ)について説明します。

注意事項

本サンプルシナリオ利用時の注意事項はこちらです。

本サンプルシナリオの概要

本サンプルシナリオは、以下の処理を行います。

  • dirコマンドを用いて、指定されたフォルダ内のファイル情報テキストファイルに出力します。
  • 出力したテキストファイルをWinActorノートで読み込み、ファイルサイズを読み取るための編集加工を行います。
    • 出力ファイルをWinActorノートに読み込む
    • ブロック検索ツールとブロック抽出ツールを用いて不要な行の削除
    • ブロック番号指定ツールとブロック分割ツールを用いて1行ごとに列を分解
    • 特定の列を取り出す
  • 読み取ったファイルサイズの合計値を計算します。

使用するWinActorモジュール

本サンプルシナリオでは、以下のWinActorモジュールを使用します。

  • 07_文字列操作/03_連結/文字列の連結(4つ).ums6
  • 07_文字列操作/04_数値に関する変換/数値の書式変換.ums6
  • 13_ファイル関連/02_ファイル操作/コマンド実行.ums6
  • 25_WinActorノート/動作モード変更.ums6
  • 25_WinActorノート/テキストファイル読み込み.ums6
  • 25_WinActorノート/ブロック検索ツール.ums6
  • 25_WinActorノート/ブロック抽出ツール.ums6
  • 25_WinActorノート/ブロック番号指定ツール.ums6
  • 25_WinActorノート/ブロック分割ツール.ums6
  • 25_WinActorノート/状態読み取り.ums6

動作確認環境

本サンプルシナリオは以下の環境で動作確認しています。

  • Windows 10
  • WinActor 6.0.0

制約事項

  • 検索フォルダは、ファイルが存在するフォルダを指定してください。
  • 検索結果ファイルは、存在するパスを指定してください。
  • 検索対象となるフォルダ名およびファイル名に半角スペースがある場合、エラーが発生しますので予め半角スペースを除去してください。

本サンプルシナリオの使い方

本サンプルシナリオの使い方は以下の通りです。

Step 1. サンプルシナリオの読み込み

ダウンロードしたZIPファイルを展開し、展開したフォルダに含まれている本サンプルシナリオをWinActorで読み込みます。

Step 2. 動作に必要な変数を設定

本サンプルシナリオの実行にあたり、事前に設定が必要な変数は以下の通りです。

変数一覧設定箇所
変数一覧設定箇所
  • 検索フォルダ
    • ファイルサイズの合計を求めたいフォルダ名を絶対パスで指定します。※フォルダを指定してください。

      例) C:\winactor\sample

  • 検索結果ファイル
    • ファイルサイズの情報を出力するファイル名を絶対パスで指定します。※ファイルを指定してください。

      例) C:\winactor\sample\結果.txt

Step 3. サンプルシナリオの実行

WinActorで本サンプルシナリオを実行開始します。
ファイルサイズの計算が完了すると、ダイアログボックスにファイルサイズ計が表示されます。

Step 4. サンプルシナリオの終了後

ダイアログボックスの「OK」ボタンをクリックすると、本サンプルシナリオは終了します。

トラブルシューティング

本サンプルシナリオでは、変数で誤った指定をした場合、エラーメッセージが出力されます。

詳細については、エラーメッセージ一覧を参照してください。

サンプルシナリオ解説

本サンプルシナリオで使用している実装テクニックについて説明します。

dirコマンドを用いて、指定されたフォルダ内のファイル情報テキストファイルに出力

WinActorノートに読み込む(シナリオ)
WinActorノートに読み込む(シナリオ)
  1. 文字列の連結(4つ) ①
    dirコマンド、検索フォルダと検索結果ファイルを連結させ、コマンドラインを生成します。

  2. コマンド実行 ②
    ①で生成したコマンドを実行し、ファイルを生成します。

    下記にコマンド実行結果例を示します。

 ドライブ Y のボリューム ラベルは FSUsers です
ボリューム シリアル番号は 80DD-C5A4 です
Y:\temp\WORK のディレクトリ
2019/02/22  15:44             43412 444.doc
2019/02/22  10:08             49241 222.xlsx
2019/02/22  10:17             42900 333.doc
2019/02/22  11:48            169472 111.xls
2019/02/22  10:15             35983 777.pdf
2019/05/23  13:10             10641 888.xlsx
2019/02/22  10:15             35340 666.pdf
2019/02/22  15:44             45197 5555.xlsx
2019/03/18  13:38            432025 000.pdf
2019/05/21  19:00            287440 サンプル.ums6
2019/03/06  16:15             86537 999.pdf
11 個のファイル             1238188 バイト
0 個のディレクトリ   1543658520576 バイトの空き領域

出力したテキストファイルをWinActorノートで読み込み、ファイルサイズを読み取るための編集加工

ファイルサイズを読み取るための編集加工(シナリオ)
ファイルサイズを読み取るための編集加工(シナリオ)
  1. 動作モード変更 ①
    WinActorノートを表示します。

  2. テキストファイル読み込み ②
    出力したテキストファイルをWinActorノートで読み込みます。
    • 新規テキストとして追加
  3. ブロック検索ツール ③
    表形式の行をマークします。
    • 表形式以外の行は、不要
    • 表形式の行は日付で開始されているので、正規表現を用いて選択できる
      ⇒使用した正規表現:'^[0-9]{4}/[0-9]{2}/[0-9]{2}'
  4. ブロック抽出ツール ④
    ③でマークされていない行を削除します。
    • マーク外の行は、不要なので削除
    不要情報の削除(実行)
    不要情報の削除(実行)
  5. 状態読み取り ⑤
    ブロック数を読み取ります。
    • ブロック数分ループ処理するため、予めブロック数を取得
      ※WinActorノート上の1行が1ブロックになっています。そのため、ブロック数を取得することで、ループすべき行数を求めています。
  6. 繰り返し ⑥
    ファイルサイズを加算するため、ブロック数分繰り返します。

  7. ブロック番号指定ツール ⑦
    先頭ブロックを選択します。

  8. ブロック分割ツール ⑧
    ⑦で選択したブロックを空白で分割することで、1列1ブロックになるように分割します。
    • 列の区切りは空白となっている
    • 区切り文字となっている空白の文字数が不定なため正規表現を使用
      ⇒使用した正規表現:' +'
    4列の表だったため、ブロック分割を実行すると4ブロックに(WinActorノート上では4行に)列が分割されます。
    • 1行目:日付, 2行目:時刻, 3行目:ファイルサイズ, 4行目:ファイル名
    ブロック分割(実行)
    ブロック分割(実行)
  9. ブロック抽出ツール ⑨
    ⑧でブロック分割した、日付のブロックを削除します。

  10. ブロック抽出ツール ⑩
    ⑧でブロック分割した、時刻のブロックを削除します。

読み取ったファイルサイズの合計値を計算

ファイルサイズを加算(シナリオ)
ファイルサイズを加算(シナリオ)
  1. ブロック抽出ツール ①
    ファイルサイズの行をクリップボードにコピーします。

    ファイルサイズを加算(実行)
    ファイルサイズを加算(実行)
  2. クリップボード ②
    ①でコピーしたファイルサイズを変数に設定します。

  3. 四則演算 ③
    ②でコピーした値をファイルサイズ計に加算します。

  4. ブロック抽出ツール ④
    ファイルサイズのブロックを削除します。

  5. ブロック抽出ツール ⑤
    ファイル名のブロックを削除します。

ファイルサイズを表示

ファイルサイズを表示(シナリオ)
ファイルサイズを表示(シナリオ)
  1. 数値の書式変換 ①
    ファイルサイズ計を数値形式を区切り文字有りにします。

  2. 待機ボックス ②
    ファイルサイズ計をダイアログボックスで表示します。
    • 「OK」ボタンをクリックすると、本シナリオが終了
ファイルサイズを表示(実行)
ファイルサイズを表示(実行)

変更履歴

版数 日付 修正内容
1.0版 2019/05/31 初版
Twitterでシェア Facebookでシェア
ページの最上部に移動します