調査報告書画像情報作成支援ツール

公開します

 調査報告書の画像情報部分の作成を格段に簡略化するツール

プログラムの説明
1.またまたエクセルで作りました。
2.エクセル2003で作成しています。
3.他のバージョンでの動作保証は致しません(2000,2007では動作しません)。
4.非常に使いにくいと評判の某ツールに比べて、各方面から絶賛(どの方面じゃ?)されています。
機能

 1.画像の高速一括読込ができます(リサイズされた画像200枚を1分、今は遅くなったかも)。
 2.画像ファイル名に情報を設定することにより、画像を自動判別します。
 3.日付は画像ファイルのタイムスタンプを自動で取得します。

左図のコンテンツが自動で配置されます。

若干変更しています。

配布方法

 当分の間、配布を中止いたします。

起動

 ・ photinfo.xlsをクリックしてください。
 ・ photinfo,xlsはマクロを含んでいますので、予めセキュリティレベルを中以下に設定しておく必要があります。

 セキュリティレベルの設定
  メニューバーから「ツール」−「マクロ」−「セキュリティ」と進み、レベルを中以下にしてください。「中」に設定した場合は、起動するたびにマクロを実行するかどうか聞いてきます。

 

初期設定
ちょっと面倒ですが最初の起動時に必ず設定してください。
設定ファィル

 このツールの機能を十分に発揮させるため、「設定ファイル」を作成してください。 簡単にできます。

こちらからどうぞ

画像のリサイズ
 最近デジカメは画素数が大きくなって、今や5Mサイズなんてのもざらにありますが、本ツールなどでは、巨大な画像は却って保存ファイルのサイズを大きくするだけです。

 シートに張り付ける画像は、300×225(6枚配置時)に設定しています。従ってそれ以上のサイズの画像を読み込む場合は、予めリサイズ(縮小)しておきましょう。簡単で便利なフリーソフト(ありがたいことです)があるのでこれを利用してください。
http://i-section.net/software/shukusen/ からダウンロードできます。取説もそこにありますが、簡単に説明しておきます。

 起動すると左図の画面が表示されますので、 サイズを「300×300(6枚配置の場合)」にしてください。
  ファイルサイズは10Kもあれば十分です。大きくても20K程度にしておいてください。
  「フォルダを作ってその中に保存」を選択し、フォルダ名はそのままでいいです。画像ファイルがあるフォルダに新たにフォルダが作成されます。
  リサイズする画像のフォルダをエクスプローラ等で開きます。画像ファイルを選択(複数選択可。操作説明の「画像読込」の項を参照)し、「画像ファイルをここに・・」にドラッグします。 フォルダ内の全ファイルを選択するときは、エクスプローラメニューの「編集」−「すべて選択」を使用します。それでお終い。

 さて、このように便利なツールですが残念なことに、ファイルのタイムスタンプがリサイズ時に変更されてしいます。これを防止するには新鮮なうちにリサイズする、システム時計の設定を変更する(爆)、日付変更ソフトを利用する等があります。
  2番目の選択肢は論外として、日付変更のフリーソフトは「日付変更専」というのが使いやすいようです。ただし、 .NET Framework 2.0が必要です。インストールされていなければこの際入れておきましょう。

 本ツールに画像を読み込む際は、そのリサイズされたフォルダ(デフォルトはResized」)を選択し、画像を読み込んでください。

操作説明

 黄色文字をクリックしてください。
毎度同じパターンで済みません。

 コマンドボタンをロールオーバー(といっても背景色が変わるだけだけど)にしてみました。
  VBAにはMouseMove(マウスが乗ったとき)のイベントしかないので不便です。

 間違ってフォームを閉じてしまったら、例によって「ツール」−「マクロ」−「マクロ」
「Menu」で開きます。

作業の流れ

1.以前「保存」したデータを再編集するときは「読込」(7以下へ進む)
2.新規作成のときは「配置枚数」を設定
3.「ファイル名情報」を使用するかどうかの設定
4.「配置調整」 (6枚配置で同一種の画像が奇数枚のとき右に空白画像を入れる)設定
5.「画像」の「作成」または「撮影」の設定
6.「日付」を西暦にするか和暦にするのかの設定
7.「画像取込
8.不必要な画像があれば「削除
9.足りない画像があれば「挿入
10.全部やり直すときは「全削除
11.「画像の説明」を入力、オートシェイプでお絵描き(使いにくい、苦情はMSに)
12.「印刷」(PDFまたはペーパーに出力)
13.後日の修正があったときのため、またはシート保存のために「保存
14.「終了

閑話
 元々DOSのプログラミングしか勉強しておらず、オブジェクト指向言語には乗り遅れてしまった。C++など買ったけど、結局お蔵入り。以前、情報系で教鞭を取っていたので、プログラミングの何たるかは理解しているつもりだが、プロパティやらメソッドやら、挙げ句はvariant型という訳の分からん型まで出てきて、万能型かと思っていたら、「型が違います」と怒られたりする。万能型じゃないじゃないか。

  当初は読み込んだファイルを配列で管理していたのだが、ありゃVBAでは配列のアドレスはどうやって渡すんだ?Cではポインタで簡単に渡せるのに。結局、配列のコピーができず(個々の要素をコピーすればできるけどコードがすっきりせん)、そうそう構造体配列なら一括コピーができたはずと変更。VBA侮るべからず。
  以前、どこかの板で構造体と書いたら「構造体じゃない!ユーザー定義型だ」と怒られた。何ぬかしやがる。アセンブラの昔から構造体は構造体じゃ。

 ということでオブジェクト指向はよく分からないけど、こういうことができるはず、とネットで検索しまくり、目的の記述を見つけたときには、情報提供者に感謝感激。¥になる訳でもないのに、奇特な人々のお陰で必要な情報にありつくことができる。昔なら、本屋に駆け込んでいたところだが、ネット様々。

 歳食ってくると、開発は短期集中でやらないと昨日のことでも忘れてしまう。なんでこんなコードがあるの?と変更すると、ありゃ、やっぱり必要なコードだったということもしょっちゅう。いちいちドキュメントを書いておけばいいのだけど。
  ということで、たった千数百行のコードに時間を食ってしまった。歳は取りたくないもんじゃ。さ、仕事しなくちゃ(07/06/29)。

 と思ったら、ちょっとひらめいて、削除と挿入のインターフェイスを変えたのでした。また何かひらめくかも(07/06/30)。

更新履歴

 

著作権及び免責など
 ・本プログラムの著作権は、Office Shimadaが有します。
 ・本プログラムのご使用により生じた損害は一切補償いたしません。
 ・バグについては【】までご一報いただければ幸いです。