EXIF情報を出力するマクロ
未読分:5件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#5 2014年12月17日(水)12時41分 From: VBAジョニー | 返事 削除 変更 |
> できれば、後半の方も教えていただけないでしょうか? 自分のトコだと動作してるみたいです。 強いて言うなら、 folPathの宣言はVariant型でないと、Namespace関数が受け取らないみたい。 1) Dim folPath As String ↓ Dim folPath As Variant そうすれば、Namespace関数に渡せるみたい。 2) Set objFol = objShell.Namespace("〜") ↓ Set objFol = objShell.Namespace(folPath) と、folpathに入るフォルダ名の「\」は重ねずに、末尾にも付けない。 マイドキュメントなんかの仮想フォルダは指定不可。 3) folPath = "C:\hoge\hoge" とか? 後は参考URLのソースをインデントや改行位置修正しただけです。 -- > irfanviewでEXIF情報を保持したまま > 再圧縮をかけたものは ちょっと、どういう操作なのか分かりません。 適当なExif情報持ったファイルが手元に無いですが、普通の画像で名前を付けて保存で圧縮率変えたものは、ファイルサイズは取得できました。 > なぜかうまくいかないのですがなぜでしょうか? よくよく試すと、動作はするけどタイトルのみ出力され、ファイルの情報が出力されていませんでした。 見てみると、JpegExifオブジェクトに最初にファイル名渡す際に、フルパスが渡っていませんでした。 たまたま画像とExcelファイルをカレントフォルダで実行していたとかなら動作していたとか。 質問者さんの環境で、再圧縮したファイルが別のフォルダに出力されてるとかなら、タイトルのみで何も出力されないかも。 If objJpeg.InitSet(fileName) >= 0 Then ↓ If objJpeg.InitSet(tFolder & fileName) >= 0 Then だと、どうでしょう? |
Message#4 2014年12月17日(水)12時41分 From: おばあちゃん | 返事 削除 変更 |
すいません、前半の方法で デジカメで撮影したものを読み込ませるとうまくいくのですが irfanviewでEXIF情報を保持したまま 再圧縮をかけたものはなぜかうまくいかないのですがなぜでしょうか? Irfanview上では正常にEXIF情報は読み出せているのですが・・・ |
Message#3 2014年12月15日(月)21時35分 From: VBAジョニー | 返事 削除 変更 |
前半だけ、 > ユーザー定義型は定義されていません > と言われて実行することができません。 クラスが適切な名前で登録されていないからだと思います。 手順だと、 1) Alt+F11でVBA起動。 2) 左のプロジェクトエクスプローラ、VBAProject(ブック名.xlsm)を右クリック、挿入、クラスモジュール 「Class1」クラスが挿入される。 3) Class1を左クリック、メニューの表示、プロパティウィンドウ(F4) 4) プロパティ - Class1のプロパティウィンドウで、(オブジェクト名)の「Class1」を「JpegExif」に変更。 5) 参考URLの後半、「JpegExifクラス」をJpegExifクラスのウィンドウに貼り付け。 以上でクラスの登録終了。 6) VBAProject(ブック名.xlsm)を右クリック、挿入、標準モジュール 「Module1」が挿入される。 7) 参考URLの「JPEGファイルリスト作成」を貼り付け。 後は、エラーが出せてるなら実行できるハズ。 |
Message#2 2014年12月15日(月)21時15分 From: VBAマスター | 返事 削除 変更 |
サイトを確認するとVBAの参照設定が必要なようですね。 下記が項目内用ですが、参照設定をされていますか? おそらくVBAの参照設定がされていないので、オブジェクトが見つからないとでているんだと思います。 '要参照設定: Microsoft Office 10.0 Object Library |
Message#1 2014年12月15日(月)21時11分 From: おばあちゃん | 返事 削除 変更 |
JPEG画像のEXIF情報を読み取って、撮影日時を出力するプログラムを作りたいのですが http://www.btinc.jp/vba_labo/study1.html このページに書かれたものを実行しようとすると Set objJpeg = New JpegExif のところで、 ユーザー定義型は定義されていません と言われて実行することができません。 http://blog.livedoor.jp/hamu1962/archives/51375817.html このページに書かれたものを実行しようとすると Set objFolItem = objFol.ParseName(tarFile) のところで、 オブジェクト変数またはWithブロック変数が設定されていません。 と言われて実行することができません。 どうすればうまくいきますでしょうか? それと、上記二つの方法はどちらの方がお勧めでしょうか? |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降