Winactorでファイルの拡張子を識別するご紹介します。
ファイルの拡張子を取得できれば、ファイルの種類が分からなくても拡張子を変更せずにファイル名の変換ができます。
- 様々な種類のファイルをコピーしたいが、コピーするファイルの種類が分からない。
- コピーする際にファイル名を変更したい。
- ファイル名は変更するがファイルの種類(拡張子)はそのまま変更したくない。
- そのためには、コピー元のファイルの拡張子を識別する必要がある。
もいち
実際に困ったので、対処法として処理を考えました。
もっと効率のよい方法もあるかもしれませんが、実際にしっかり動いているので参考になればと思います。
処理の全体像
画像はかなり小さくで処理内容が分からないと思います。
その理由は、多分岐の条件処理を利用しているからです。
大まかに説明すると、拡張子を調べたいファイルのファイル名の後方3文字を切り出します。
切り出した文字(例えば「テストファイル.PDF」なら「PDF」)で判断していく方法です。
処理1 文字列切り出し(後方何文字分)
今回は後方3文字を切り出して取得します。
プロパティを設定します。切り出し元文字列に、ファイルを設定します。
その際は、絶対パスで設定する必要があります。
切り出し文字が変数「切り出し拡張子」に格納されます。
処理2 多分岐グループ
取得した「切り出し拡張子」を調べます。
多分岐グループのプロパティを設定します。
想定される拡張子分、分岐を設定します。
取得した「切り出し拡張子(値1)」が「pdf(値2)」と一致するか判断します。
「pdf」と一致すれば分岐名「PDF」内の処理が実行されます。
変数値設定にて、値に「.pdf」をセットします。
処理3 文字列の連結
変数として用意した「貼り付け拡張子(.pdf)」をファイル名の最後に連結します。
文字列を連結すると以下のようになります。
申請ID(001) + 添付書類名(申込書) + 貼り付け拡張子(.pdf)
連結結果「001申込書.pdf」
一連の処理により、ファイルの種類はそのままで、ファイル名のみ変更してファイルの複製をすることができます。