TOP > リネームツール > 制作秘話

***********************************************************************************************
                     リネームツール 制作秘話
                                           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%になるよう
  調整しています。調整する前は,使うパソコンによってユーザーフォームの大きさが違っていて,時としてユーザーフォームが
  大きすぎて邪魔になることがあったからです。これで,どのパソコンでも同じように使えます。


◆最後に
 ここまで、熱心に読んでくださってありがとうございました。
 プログラムを組んだことのない方には、わかりにくい内容だと思いますが、これを機会にエクセルの
 マクロに興味を持っていただければ、と思っています。
 エクセルは、本当に楽しいツールです。自分の思いや考えが表現できます。
 そんなエクセルに、日々、感謝です。