- ベストアンサー
エクセルマクロで、あるディレクトリにあるjpgファイルの更新日時を取得する方法を教えてください。
いつもお世話になっております。 過去の回答を確認したのですが、わからなかったので、教えてください。 ケータイで取った写真に、自動でシリアル番号(NEC_****.jpg)がつくのですが、写真をとった日付に自動で変更したいと考えています。 エクセルのマクロで、ファイル名を取得して、変更するプログラムを以前、作成したので、それをちょっと変更して、そのような機能をもつプログラムを作成したいと考えています jpgファイルの、更新日時を取得するマクロの記述の仕方を教えてください。 やり方としては、jpgファイルを指定して、更新日時をエクセルのどこかのセルに、記述させるようにできると、なんとか、できそうです。 以上、すみませんが、よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
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
その他の回答 (2)
- KenKen_SP
- ベストアンサー率62% (785/1258)
>jpgファイルの、更新日時を取得するマクロの記述の仕方を教えてください。 ご質問の意図からはずれてるかもしれませんが、、 一般に携帯電話の画像形式はEXIFフォーマットのJPEGファイルになっています。EXCELでなくとも、フリーの(デジカメ用)リネームツールなどで、撮影日時+連番などのリネームが可能だと思いますよ。 例)VIX EXCELマクロでコードを書く場合、ファイルのタイムスタンプ取得は#1-2の方が紹介されてます方法で簡単に取得できますが、EXIF解析(バイナリ解析)は結構大変です。 EXCELでマクロを組むのも一案ですが、専用ツールの利用を検討してみてはどうですか?
お礼
教えていただいたツールも試してみたいと思います。 ただ、マクロの勉強にもなるので、マクロも考えてみたいと思います。 ありがとうございました。
- Wendy02
- ベストアンサー率57% (3570/6232)
#1 さんにかぶってしまいますが、 FileDateTime 関数を使って、Formatで、適当な文字列に整えればよいのでは? それか、FileSystemObjectの DateCreated か、DateLastModified を使えばよいのでは? ただ、秒まで入れれば、99%、一意の名前になりますが、そうでなければ、Name で変更を掛けてもエラーになる可能性がありますね。エラーの回数を、Static 変数にでも入れて、ファイル名に反映させる手もあるとは思いますが。
お礼
難しそうです。 もし、よかったら、具体的な文例を教えてください。 すみませんが、素人なので、よろしくお願い致します。
お礼
教えていただいたURLを確認します。 ありがとうございました。