EXIF情報を出力するマクロ 削除
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 だと、どうでしょう? |
上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。