※ このプログラムは、Visual Basic 6.0 で開発したバージョンです。 マイクロソフトは既にサポートを打ち切っていますので、いつ使えなくなるか分かりません。 .NET Framework 3.5 以降がサポートされているOSを使用されている方は、新バージョンの プログラムをお使い頂く事をお勧めいたします。 .NET Framework 3.5 版 は、こちら → http://urbanfactory.jp/giovanni/soft/exiffileope.html
【内容】Exif情報ファイル操作ツール 【説明】Exif情報を元にファイルの一括操作を行うためのツールです。 =========================================================================== 【ソフト名称】 Exif情報ファイル操作ツール ExifFileOpe Ver 1.42 【 著作権者 】 じょばんに 【 対応機種 】 WindowsでVB6作成のAPが動作する機種 【 必要 DLL 】 VB6基本ランタイム 【 最終更新 】 2012/03/15 【ソフト種別】 フリーソフトウェア 【 転載条件 】 転載自由ですが、一応御連絡ください。 =========================================================================== ・‥… 他の公開ソフト …‥・ ◇ Exif機種名変換ツール Modechan http://urbanfactory.jp/giovanni/soft/modechan.html ◇ NEFからJPEG抽出ツール Nef2Jpg http://urbanfactory.jp/giovanni/soft/nef2jpg.html ◇ JPEG画像リサイズツール JpgRsz http://urbanfactory.jp/giovanni/soft/jpgrsz.html =========================================================================== 【ソフト紹介】 このソフトウェアは、デジタルスチルカメラで撮影された画像に含まれるExif情報 を元に、ファイルの各種一括操作を行うために作成しました。 作成するきっかけは、デジタルスチルカメラで撮影されたファイル名の変更や、 一部のExif情報書き換えを、ひとつひとつ手作業で行うのが面倒だったからです。 動作確認している機種は、ニコンの一眼レフタイプのデジタルスチルカメラのみです。 私自身が、ニコン製しか持っていないという理由です (^^; Exifのメーカーノートに依存する機能では、確実にニコン製しか対応していません。 メーカーノートに依存しない機能は、他メーカー製やコンパクトタイプのデジタル スチルカメラのファイルでも、動作するかもしれません。 =========================================================================== 【免責】 このソフトウェアで行った処理結果に対して、作者は何ら責任を負わない事とします。 ファイルの破損が心配な場合は、必ず自己責任でファイルのバックアップを行って から使用してください。 =========================================================================== 【機能の説明】 ● Exifの撮影日時を変更する Exifに埋め込まれている撮影日時を変更します。 日時の指定方法は、以下の2種類から選択します。 (1) 日時を指定 [設定]ボタンを押す事により、日時を指定するダイアログが開きます。 年月日と時分秒を入力して、全て同じ撮影日時に変更します。 但し、年月日のみ、時分秒のみの入力も可能です。 (2) 差分で変更 [設定]ボタンを押す事により、差分を指定するダイアログが開きます。 加算/減算を選択し、日(何日分)/時(何時間)/分(何分)/秒(何秒) の内から1つ又は複数の要素を入力し、埋め込まれているExif情報の撮影年月日 に対し、要素分の日時を加算または減算して撮影日時を変更します。 (3) ファイル名順になるよう設定 (1) 先頭ファイルの日時から開始 ファイル名で並べた最初のファイルの撮影日時を基準にし、指定された 繰り上げ秒数を加算しながら、各ファイルの撮影日時を書き換えます。 [設定]ボタンを押す事により、秒数を指定するダイアログが開きます。 (2) 指定する日時から開始 ファイル名で並べた最初のファイルの撮影日時を、指定された日時に強制 書き換えし、その撮影日時を基準にし、指定された繰り上げ秒数を加算 しながら、各ファイルの撮影日時を強制書き換えします。 [設定]ボタンを押す事により、日時と秒数を指定するダイアログが開きます。 ● 機種名をファイル名に付加する Exif情報から機種名(カメラ名)を取得し、ファイル名に付加します。 (1) 付加する位置を選択 プレフィックス(ファイル名の前に付加) サフィックス(ファイル名の後ろに付加) (2) 区切り文字 機種名とファイル名を区切る文字を指定します。 (3) 機種名から取り除く文字列 例えば、機種名が“NIKON D200”で“D200”のみをファイル名に付加したい 場合は、“NIKON”を取り除く文字列として指定します。 取り除かれた文字列の前後に空白がある場合は、カットします。 ※事前に具体的な機種名が分かっていなければ、指定できませんね (^^; ● ファイル名を撮影日時にする デジタルスチルカメラで撮影された画像のファイル名は、メーカーや機種によって 異なりますが、例えば“DSC_00001”等のように何らかのIDと連番で構成されたもの になっています。 いずれ最大までカウントすると、1番に戻ります。 同一撮影日に1番に戻った場合、同一撮影日のファイルを、ファイル名で時系列に 並べることができません。 ファイル名で時系列に並べるには、ファイル名を撮影日時にしておく事が一番早い 解決方法になります。 [設定]ボタンを押す事により、ファイル名の形式を指定するダイアログが開きます。 (1) 年月日 年月日の形式を、コンボボックスから選択します。 (2) 区切り文字 年月日と時分秒を区切る文字を指定します。 (3) 時分秒 指定はできません。必ず“HHMMSS”形式となります。 ● ファイル更新日時を撮影日時にする デジタルスチルカメラで撮影された画像ファイルは、何もしなければ撮影された 日時がファイルの更新日時となっています。 但し、現像やレタッチ等の後処理でファイルを編集した場合は、編集した日時が ファイルの更新日時になってしまいます。 ファイルの更新日時をExif情報の撮影日時に変更する場合に指定します。 ● 拡張子の大文字・小文字を揃える 現像やレタッチ等の後処理の結果、ファイルの拡張子に大文字と小文字が混在する 状況になる場合があります。 拡張子の大文字と小文字をどちらかに統一したい場合に指定します。 ● Exif情報でフォルダ単位に振り分け Exif情報の特定のTAGの内容により、対象フォルダ内の画像ファイルをサブフォルダ 単位に振り分ける機能です。 振り分けの対象とする情報は、以下の4種類から選択します。 (1) カメラ機種名 カメラの機種名毎にサブフォルダを作成して振り分けます。 (2) レンズ情報 レンズのタイプや焦点距離でレンズ名を構成し、レンズ名称毎にサブフォルダ を作成して振り分けます。 レンズ情報は、NIKONメーカーノートに依存します。 (3) ISO感度 撮影時のISO感度毎にサブフォルダを作成して振り分けます。 (4) FLASH On/Off 撮影時のフラッシュ On/Off別にサブフォルダを作成して振り分けます。 ● Exifのシリアル番号を空白にする (特殊オプション) ※処理対象は、JPEGファイル限定 ※NIKONメーカーノート限定 メーカーノートにシリアル番号/機体固有番号が存在した場合は空白にします。 ● Exifの撮影回数を変更する (特殊オプション) ※処理対象は、JPEGファイル限定 ※NIKONメーカーノート限定 (1) 回数を指定 メーカーノートに撮影回数がある場合は、指定された撮影回数に変更します。 但し、メーカーノートに削除回数がある場合、差し引き撮影回数がマイナス にならないように自動調整します。 (2) 差分で変更 メーカーノートに撮影回数がある場合は、指定された回数を加算または減算 して撮影回数を変更します。 但し、メーカーノートに削除回数がある場合、差し引き撮影回数がマイナス にならないように自動調整します。 =========================================================================== ★ 注意事項 ★ ファイル名を変更する際に、既に同一ファイル名が存在した場合は、自動的に 01番からファイルの後ろに連番を付加します。 しかし、既に存在していたファイルが未処理だった場合は、そのファイルも後で ファイル名が変更されるため、全ての処理が終了した時点で、01の連番が付加 されたファイルが存在しても、同一ファイル名で連番が付加されていない元の ファイルは存在しなくなります。 なぜ同一ファイル名が存在しないのに、01番が付いているファイルがあるのかと いう状態になりますので、ご了承ください。 但し、01番が付加された後に該当ファイル名と同じになる状況が発生した場合、 既に該当ファイル名のファイルは名前が変更されて連番を付加する必要が無い という状況になってしまいます。 従って、その場合は連番が付かないファイル名に変更されてしまいます。 以上のような、一見しただけでは理解不能な状況になる場合がありますので、 ご承知おきください。 =========================================================================== 【ランタイム】 VisualBasic6.0で作成しているため、実行にはVB6のランタイムが必要になります。 OCXは使用していませんので基本的なランタイムのみで動作するはずです。 最近のOSは、VB6基本ランタイムが既にインストールされているものがほとんどです。 従って、セットアップが不要の場合が大半のため、セットアップタイプでの配布はせず、 実行ファイルのみ配布とします。 ダウンロードして解凍しただけでは動作しない環境の方は、別途ご連絡ください。 ランタイムがインストールされている環境であれば、実行ファイルのみダウンロード すれば起動/実行ができるのですが、たまに文字化けする場合があります。 そのような場合の多くは、VB6JP.DLLというファイルがセットアップされていない 場合が考えられます。VB6JP.DLLのみダウンロードできるようにしていますので、 解凍したVB6JP.DLLを Windows\System32 フォルダにコピーしてください。 ※Windows98 以前は、32の付かない System フォルダになります。 ※64bit OS の場合は、SysWOW64 フォルダになります。 =========================================================================== 【INIファイル】 起動すると、実行ファイルと同じフォルダー内に、“ExifFileOpe.ini”という ファイルが自動的に作成されます。 これは、実行されたときの状態を記憶しておき、次回起動時に前回実行時の 内容を表示するために使っています。 また、Window位置の復元にも使用しています。 設定内容が分かるように、敢えてレジストリは使用していません。 =========================================================================== 【履歴】 2012/03/15 Ver1.42 ・撮影日時変更オプションの内、日時を指定する場合と、ファイル名順になる ように設定で指定する日時から開始の場合、西暦の年を入力する範囲を 1900年から2100年までを指定できるようにしていましたが、内部処理では 1990年からのチェックにしていたため、1900年から1989年を入力すると エラーメッセージが表示されていたバグを修正しました。 ・Exif情報取得時に、NikonメーカーノートのCapture Editor DataのExifはIDFの 数と長さがExifの仕様に合っていないと思われ、その乗算がオーバーフロー する場合があるので、エラーを回避するコードを追加しました。 ・実行時のオプションは次回に再現するよう保存する仕様ですが、保存しない ようにするオプションを追加しました。 2011/02/05 Ver1.41 ・実行時に各コントロールをクリック不可にしていましたが、コントロールにより 制御できない事があるバグを修正しました。 ・実行時のオプションは次回に再現するよう保存する仕様でしたが、保存しない ようにするオプションを追加しました。 2010/08/20 Ver1.40 ・サブフォルダを処理対象とする場合、一部の環境において、サブフォルダが 正しく取得できず、サブフォルダ以下のファイルが処理対象とならない事が ある不具合を解消しました。 ・各フォルダに格納されている画像の撮影日時を、ファイル名順に並ぶように 強制的に書き換える機能を追加しました。 iPhone/iPod touch/iPad 等に転送する写真を用意する場合、デバイス側では 撮影日時で並ぶ仕様になっています。 ファイル名で並べたくても、撮影日時がバラバラだと思ったように並べる事が できませんが、この機能で撮影日時をファイル名順に強制書き換えして並べる 事ができるようになります。 2009/05/13 Ver1.30 ・Exif情報取得ロジックの中で、Nikonメーカーノートの情報取得のバグを修正 しました。バイト並びの形式が、TIFFヘッダーとメーカーノートでは異なる 可能性がある事に気がつき、メーカーノートのExif情報取得時は、メーカー ノートのバイト並びの形式を使用するように修正しました。 ・ファイル名変更時の同一ファイル名存在時、02番から連番を付加していまし たが、01番からの連番に変更しました。 2009/01/26 Ver1.24 ・ファイル振り分け処理を行った場合、振り分け先で同一ファイル名が存在した 場合にエラーもしくは、上書き確認が出ていたので、連番を付けて振り分ける ように修正しました。 2009/01/21 Ver1.23 ・ファイル名を変更する処理が実行された時、同一ファイル名が存在したら自動的に 02から連番を付加する仕様で、存在していたファイルには01を付加していました。 そのため、01に名前を変えられたファイルが未処理だった場合、処理開始時に記憶 していたファイルの名前が変わって存在しない状況が発生し、エラーとなっていた バグを修正しました。 修正内容は、同一ファイル名が存在する場合は、元々のファイル名に01を付加しない ように仕様変更しました。 2008/03/29 Ver1.22 ・撮影日時変更オプションでは、変更するExifのタグの対象を“DateTimeOriginal” に限定していましたが、デフォルトで“DateTimeDigitized”の変更も行うように 変更しました。 2007/09/13 Ver1.21 ・Exif情報取得ロジックの一部を変更しました。 2007/09/10 Ver1.20 ・最初の公開バージョンです。 ===========================================================================

◇実行ファイルのみ配布 : ZIP形式の圧縮ファイル ダウンロード 【 efop142.zip 】 ◇VB6JP.DLLのみ配布 : ZIP形式の圧縮ファイル ダウンロード 【 vb6jp.zip 】

バグ報告・御意見・転載連絡等がありましたら、以下のメールフォームからお願いします。 → メッセージ送信フォーム

[Software TOPに戻る]