***********************************************************************************************
リネームツール 制作秘話
Copyright(C) 2018 by しげるがもげる
***********************************************************************************************
◆はじめに
このドキュメントには、制作に関わっての作者の思いや苦労が書いてあります。
技術的な細かいことに興味のない方は、読み飛ばしてください。
エクセルでマクロを組んでみようかなと思われる方は、読むと参考になる部分があるかもしれません。
◆制作秘話
最初に、この手のツールを作ろうと思ったのは、仕事上で画像ファイルを大量にリネームする必要が出てきたからです。
1つのフォルダには約100個の画像ファイル、もう1つのフォルダは約300個の画像ファイル。
これを元にして、写真の注文を取らなければなりません。
1つ1つのファイルを手作業でリネームすると、間違える場合が出てきます。
しかし、それでは注文ミスとなり、「その損失を誰が負うのか?」という問題にもなります。
そこで、「マクロを組んで自動でやってしまおう。」と考えたわけです。
作りながら使っていくうちに、「画像のプレビューが見れたらいいな。」とか、「連番を自動入力したいな。」とか
欲が出てきてこのような形になりました。
ファイルの一覧表については、画像ファイルだけじゃなく、ノーマルファイルすべてが出てきます。
これは、例えばメモ帳で書いた日程とか、エクセルで書いた収支一覧とか、そんなものもリネームすることが
あるだろうと考えて、そのままにしてあります。
◆工夫や苦労など
<ユーザーフォーム(画像表示)>
セルにファイル名を入力するとき,同時に対象の画像が表示されると,便利です。
そこで,ユーザーフォームをモードレスで起ち上げ,セルでの操作ができるようにしました。
さらに,アクティブなセルが変わると,それにともなって画像も変わるようにしました。
このことで,ユーザフォームに縛られることなく,シート上で作業ができるようになりました。
ただ,こうすると,ふつうは画像が表示される度にユーザーフォームがアクティブになってしまい,
ファイル名を入力するとき,ワークシートを1回クリックしてシートをアクティブにし,カーソルと動かして
それからファイル名の入力という手順になってしまいます。
そこで,画像表示をしたあと,自動でワークシートがアクティブになるように設定し,カーソルの移動だけで画像が
次々に変わっていくようにしました。
これで,中断することなく,連続で入力ができるようになりました。
<連番>
これは見た目には派手さがないのだけれど、実はけっこう手間がかかっています。
まず大前提として、並び替えをしたとき、きちんと順番に並ぶようにしなければいけません。
Windowsでは,ファイル名が単純な数字の場合、1から12まで並び替えをすると、1,10,11,12,2,3,・・・と
なってしまいます。
そこで、01,02,03,・・・のように、頭に0を付けるようにしました。
ただこれが、マクロでやろうと思うと結構手間がかかりました。
マクロでは、数字と文字では扱いが違ってきます。つまり、そのままでは数字の前に0を付けることはできないので、
いったん数字を文字列に変換します。そうすると、数字の前に0をくっつけることが可能になります。(文字の結合)
連番は、ファイルが99個までなら1〜9までは0を1個くっつける必要があるし、ファイルが999個までなら
1〜9は0を2個、10〜99は0を1個くっつける必要があります。それを計算して、動かしています。
地味だけれど、私的には、けっこう好きな部分です。
<ユーザーフォームの大きさの自動調整>
使っている時は全然意識されないですけれど,ユーザーフォームの大きさはエクセルの画面の40%になるよう
調整しています。調整する前は,使うパソコンによってユーザーフォームの大きさが違っていて,時としてユーザーフォームが
大きすぎて邪魔になることがあったからです。これで,どのパソコンでも同じように使えます。
◆最後に
ここまで、熱心に読んでくださってありがとうございました。
プログラムを組んだことのない方には、わかりにくい内容だと思いますが、これを機会にエクセルの
マクロに興味を持っていただければ、と思っています。
エクセルは、本当に楽しいツールです。自分の思いや考えが表現できます。
そんなエクセルに、日々、感謝です。