• ベストアンサー

エクセルマクロで、あるディレクトリにある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
質問者

お礼

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

関連するQ&A

  • 更新日時

    Excelを開いて上書きもしていないのに勝手に更新日時がファイルを開いた日時に変更になってしまい、作成した日時が分らなくなってしまいました。 どう設定し直せば上書きしなかったファイルが元の日付けに戻るか教えて下さい。

  • Excelで更新日時と更新者を表示させる

    Excel97で、ファイルの最終更新日時と最終更新者を任意のセルに表示させようとしています。 組込み関数では無理なようなので、VBAで関数を作成し始めました。 日時については、FileDateTime(パス名)で日付のシリアル番号を表示させることができましたが、これをセルの書式設定ではなく、VBA内で日付型にさせたいのです。 更新者は、BuiltinDocumentProperties(7)というのを使用するようですが、記述方法がまったくわかりません。 VBAは初心者です。 Functionステートメントを使用していますがこれ自体は間違いないでしょうか。 ご指導願います。

  • エクセルVBAで、ファイルの情報の「作成日時」取得

    エクセル2000です。 メニューからファイル、プロパティでダイアログを呼び出すと、タブが「ファイルの情報」、「ファイルの概要」、「詳細情報」、「ファイル構成」、「ユーザー設定」と並んでいます。 そのうちの「ファイルの情報」タブと、「詳細情報」タブの両方に「作成日時」と「更新日時」があります。 同じ「作成日時」がなぜ二つあるのか、どう違うのが、試してみると更新日時はどちらも同じですが、作成日時が「詳細情報」はそのエクセルを初めて作成した日時、「ファイルの情報」は、そのエクセルに名前を付けて保存した日時のようです。 上記の理解で合っていますか? 次にそのエクセルBOOKに記述したVBAで作成日時を取得しようとした場合、 ActiveWorkbook.BuiltinDocumentProperties(11).Value で取得できる作成日時は、「詳細情報」にあるほうの日時のようですが、「ファイルの情報」にある作成日時(名前を付けて保存した日時)をVBAで取得するにはどうしたらよいのでしょうか? なにとぞよろしくお願い申し上げます。

  • エクセルのマクロでデジカメの撮影日時を取得

    エクセルのマクロを使って、デジカメで撮影した動画ファイルのファイル名を撮影日時に変更しようとしています。 FileDateTimeを使って、撮影日時を取得使用としているのですが、パナソニックのデジカメで撮影したQuickTimeのファイル(*.mov)は、デジカメからパソコンにデータを取り込んだ時間となってしまいます。 エクセルのマクロで、撮影日時を取得する方法はあるのでしょうか? よろしくお願いします。

  • フォルダ内ファイルの作成・更新・アクセス日時の取得

    会社で使っているXPパソコンで、或るフォルダ内の全ファイルの「作成日時」、「更新日時」、「アクセス日時」をエクセルで一覧表にしたいと考えています。 会社のパソコンなので勝手にフリーソフトなどをイントールすることは出来ず、既にインストールされているエクセルで何とか出来ないか?と試行錯誤しています。 ネットを彷徨って、どうやら「更新日時」はVBAで取得できそうだと判りましたが、「作成日時」と「アクセス日時」の取得については見付けることが出来ませんでした。 フォルダ内ファイルの「作成日時」、「更新日時」、「アクセス日時」をエクセルで一覧表にする方法について、ご存じの方がいらっしゃればお知恵をお貸し頂けないでしょうか?

  • http://から始まるファイルの更新日時を取得するには

    自分のサーバー内にあるファイルの最終更新日時は statを使って取得できるようですが、 http://から始まるほかのサーバーにあるファイルの 更新日時を取得するにはどうすればいいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Perl
  • ファイルの作成日時を取得するにはどうすれば?

    エクセル2003です。 ファイルの作成日時を取得するにはどうすればいいですか? MsgBox FileDateTime(ActiveWorkbook.FullName) を実行すると、更新日時が取得されてしまいます。 FileDateTime 関数のヘルプを見ると、 ----------------------------------- 指定したファイルの作成日時または 最後に修正した日時を示すバリアント型 (内部処理形式 Date の Variant) の値を返します。 ----------------------------------- と書かれていますが、 どうすれば作成日時を取得できるのでしょうか?

  • ファイル更新日時の取得方法

    Windows 10, 8.1でファイル更新日時(yyyy/mm/dd hh:mm:ss)を簡単に取得する方法を教えて下さい。 たとえば、ファイルのプロパティの場合、不要な文字コード(LRM:\u200e, RLM: \u200f)が含まれてしまいます。エクスプローラの詳細のファイル一覧は、秒(ss)が取得できません。 プログラムなどを使わずにコピー&ペーストなどの簡単な操作でファイル更新日時を取得する方法があれば教えて下さい。 ※OKWAVEより補足:「富士通FMV」についての質問です。

  • EXCELファイルの更新日時

    こんばんは。 最近、職場のサーバーを以下の製品に入れ替えました。 http://buffalo.melcoinc.co.jp/products/catalog/item/h/hd-htgl_r5/index.html このハードディスクに入っているEXCELデータにアクセスすると、内容を変更していないのにも関わらず、更新日時が自動的にアクセスした日時に更新されています。 EXCELデータには、マクロや関数は使用されていません。 私のPC自体の設定なのでしょうか? それとも、上記ハードディスクの設定なのでしょうか? 私のPCは Windows2000 Office2000   です。 アドバイスがありましたら、宜しくお願い致します。

  • 作成日時 更新日時 アクセス日時について

    ファイルを右クリック→プロパティの全般のタブで表示される 作成日時 更新日時 アクセス日時 の意味がよくわかりません。 作成日時とアクセス日時が同じで更新日時のみが古い日付だったり、 作成日付のみが古かったりしています。 このような日付はどのような作業をすると表示が変わるのでしょうか? 教えてください。

専門家に質問してみよう