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

だと、どうでしょう?

上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。

パスワード:

ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください^^

VBAのInternetExplorer操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE(InternetExplorer)操作にも挑戦してみてください^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

エクセルVBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

dmb.cgi Ver. 1.068
Copyright(C) 1997-2014, hidekik.com