WinActor(ウィンアクター)
教えて !! スーさん。
第9回 「ファイル関連のライブラリをいろいろと使ってみよう」 の巻
目次
- 第9回 「ファイル関連のライブラリをいろいろと使ってみよう」 の巻1(今回)
- 第9回 「ファイル関連のライブラリをいろいろと使ってみよう」 の巻2
スーさんと
サーさん、ふたりの会話を通してWinActorの利用方法をお伝えします。

今回は「13_ファイル関連」の配下にあるいろいろなライブラリを使って操作するシナリオを作成しようと思います。

はい、よろしくお願いします。
「ファイル関連」の配下にはさらに「ファイル操作」や「フォルダ操作」などがありますよね。この配下にあるライブラリを使ったシナリオを作成するということですね。
「ファイル関連」の配下にはさらに「ファイル操作」や「フォルダ操作」などがありますよね。この配下にあるライブラリを使ったシナリオを作成するということですね。

はい、そうです。いろいろ使っていこうと思います。
では、作成するシナリオの流れを説明します。
「作業用」フォルダ配下に下記に示すaとbの2種類のファイルがそれぞれ複数存在します。
a.番号一覧ファイル
b.Noファイル
a.番号一覧ファイルは【】内が組織名になっています。
例:【A事業部】番号一覧(2025年05月).xlsx
b.NoファイルはNo_の後に2桁の数字で構成されています。
例:No_10.xlsx
では、作成するシナリオの流れを説明します。
「作業用」フォルダ配下に下記に示すaとbの2種類のファイルがそれぞれ複数存在します。
a.番号一覧ファイル
b.Noファイル
a.番号一覧ファイルは【】内が組織名になっています。
例:【A事業部】番号一覧(2025年05月).xlsx
b.NoファイルはNo_の後に2桁の数字で構成されています。
例:No_10.xlsx


以下の操作を行います。
a.番号一覧ファイルのファイル名に含まれる組織名のフォルダを「作業用」フォルダ配下に作成します。
a.番号一覧ファイルのA列にNoが記載されていますので、そのNoに該当するb.Noファイルを、上記で作成したフォルダ配下に移動します。
上記の操作をa.番号一覧ファイル数分、かつ、そのファイルの行数分、それぞれ繰り返します。
a.番号一覧ファイルのファイル名に含まれる組織名のフォルダを「作業用」フォルダ配下に作成します。
a.番号一覧ファイルのA列にNoが記載されていますので、そのNoに該当するb.Noファイルを、上記で作成したフォルダ配下に移動します。
上記の操作をa.番号一覧ファイル数分、かつ、そのファイルの行数分、それぞれ繰り返します。


シナリオ実行後の「作業用」フォルダはこうなります。
組織名のフォルダが4つ作成されていて、Noファイルは存在していません。
組織名のフォルダが4つ作成されていて、Noファイルは存在していません。


シナリオ実行後の「A事業部」フォルダはこうなります。
行数分のNoファイルが移動しているのがわかりますね。
行数分のNoファイルが移動しているのがわかりますね。


やるべきことは理解しました。
番号一覧ファイルに含まれる組織名のフォルダを作成して、ファイルのA列に記載されている分のNoファイルを作成したフォルダ配下に移動させる、ということですね。
それを、番号一覧ファイル数分繰り返して、かつ、番号一覧ファイルの行数分繰り返すということですね。
ちょっとややこしいというか、複雑な感じはありますね。
番号一覧ファイルに含まれる組織名のフォルダを作成して、ファイルのA列に記載されている分のNoファイルを作成したフォルダ配下に移動させる、ということですね。
それを、番号一覧ファイル数分繰り返して、かつ、番号一覧ファイルの行数分繰り返すということですね。
ちょっとややこしいというか、複雑な感じはありますね。

それではシナリオを作成していきましょう。
まず、番号一覧ファイル数分繰り返すという点を考えてみます。どのように考えますか。
まず、番号一覧ファイル数分繰り返すという点を考えてみます。どのように考えますか。

作業用フォルダ配下に番号一覧ファイルは4個ありますが、これはいつも4個とは限らない、個数は変動する前提で考える必要があるということでしょうか。

そうですね。番号一覧ファイルの個数は変動します。

そうすると、番号一覧ファイルのファイル数を取得して、そのファイル数分繰り返すような感じでしょうか。
「ファイル一覧(ファイル数)取得」というライブラリがあるけど、これだとフォルダ配下のファイルは全て対象になってしまいますね。
「ファイル一覧(ファイル数)取得」というライブラリがあるけど、これだとフォルダ配下のファイルは全て対象になってしまいますね。

「ファイル一覧(ファイル数)取得」でファイル数を取得して、次に「ファイル一覧(ファイル名)取得」でファイル名を取得して、「番号一覧」が含まれるかを確認しながら、番号一覧ファイルのファイル数をカウントするということもできると思いますがちょっと手間がかかりますね。
ここはいろいろとやり方はあると思いますが、今回は、作業用フォルダ配下の「番号一覧」を含むファイルを検索して、それがなくなるまで繰り返すという仕組みにしたいと思います。
ここはいろいろとやり方はあると思いますが、今回は、作業用フォルダ配下の「番号一覧」を含むファイルを検索して、それがなくなるまで繰り返すという仕組みにしたいと思います。

「ファイル検索」というライブラリがありますが、こちらをつかうということでしょうか。

はい、「ファイル検索」ライブラリを使用します。
「ファイル検索」の注釈の中に「インデックス番号に対応するファイルが存在しない場合、空文字が設定される。」とありますので、空文字が返却されたら繰返しを終了するようにします。
「ファイル検索」の注釈の中に「インデックス番号に対応するファイルが存在しない場合、空文字が設定される。」とありますので、空文字が返却されたら繰返しを終了するようにします。

ちょっと難しそうな予感がします。
目次
- 第9回 「ファイル関連のライブラリをいろいろと使ってみよう」 の巻1(今回)
- 第9回 「ファイル関連のライブラリをいろいろと使ってみよう」 の巻2