• ベストアンサー

エクセルマクロで、あるディレクトリにあるjpgファイルの更新日時を取得する方法を教えてください。

いつもお世話になっております。 過去の回答を確認したのですが、わからなかったので、教えてください。 ケータイで取った写真に、自動でシリアル番号(NEC_****.jpg)がつくのですが、写真をとった日付に自動で変更したいと考えています。 エクセルのマクロで、ファイル名を取得して、変更するプログラムを以前、作成したので、それをちょっと変更して、そのような機能をもつプログラムを作成したいと考えています jpgファイルの、更新日時を取得するマクロの記述の仕方を教えてください。 やり方としては、jpgファイルを指定して、更新日時をエクセルのどこかのセルに、記述させるようにできると、なんとか、できそうです。 以上、すみませんが、よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

FileDateTime 関数でできるようです。 (詳細はヘルプで・・・) この関数がもし利用できないようでしたら、FileSystemObject またはAPIを使用すれば、同等の機能は作れます。 http://www.bcap.co.jp/hanafusa/VBHLP/FSO01.htm http://vbvbvb.com/jp/gtips/0051/gGetFileInformationByHandle.html http://vbvbvb.com/jp/gtips/0701/gGetFileTimeFileTimeToLocalFileTime.html

参考URL:
http://www.bcap.co.jp/hanafusa/VBHLP/FSO01.htm
lemon567
質問者

お礼

教えていただいたURLを確認します。 ありがとうございました。

その他の回答 (2)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.3

>jpgファイルの、更新日時を取得するマクロの記述の仕方を教えてください。 ご質問の意図からはずれてるかもしれませんが、、 一般に携帯電話の画像形式はEXIFフォーマットのJPEGファイルになっています。EXCELでなくとも、フリーの(デジカメ用)リネームツールなどで、撮影日時+連番などのリネームが可能だと思いますよ。 例)VIX EXCELマクロでコードを書く場合、ファイルのタイムスタンプ取得は#1-2の方が紹介されてます方法で簡単に取得できますが、EXIF解析(バイナリ解析)は結構大変です。 EXCELでマクロを組むのも一案ですが、専用ツールの利用を検討してみてはどうですか?

lemon567
質問者

お礼

教えていただいたツールも試してみたいと思います。 ただ、マクロの勉強にもなるので、マクロも考えてみたいと思います。 ありがとうございました。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

#1 さんにかぶってしまいますが、 FileDateTime 関数を使って、Formatで、適当な文字列に整えればよいのでは? それか、FileSystemObjectの DateCreated か、DateLastModified を使えばよいのでは? ただ、秒まで入れれば、99%、一意の名前になりますが、そうでなければ、Name で変更を掛けてもエラーになる可能性がありますね。エラーの回数を、Static 変数にでも入れて、ファイル名に反映させる手もあるとは思いますが。

lemon567
質問者

お礼

難しそうです。 もし、よかったら、具体的な文例を教えてください。 すみませんが、素人なので、よろしくお願い致します。