• 締切済み

EXIF情報を出力するマクロ

neKo_deuxの回答

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.2

> できれば、後半の方も教えていただけないでしょうか? 自分のトコだと動作してるみたいです。 強いて言うなら、 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 だと、どうでしょう?

関連するQ&A

  • VBScript

    http://blog.livedoor.jp/karikatamari/archives/1318032.html 上のページでiTunesの曲に読み仮名を付けたいのですが、 VBScriptが実行可能という環境が分かりません。 VisualBasicをインストールしないといけないのでしょうか?

  • WordPressで作ったHPのIE8対応

    HPを作った時はIE10で作っていてズレもなく綺麗に映っていたのですが、 今更になってわかったことで・・導入する(閲覧する)環境がIE8とか9だそうで まず、IEを9にして反映してみたら、レイアウトが崩れていたので、 レイアウト崩れを直そうと調べて、こちらのサイトを参考に http://www.art-labo.net/blog/archives/210 「<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/>」 とheader.phpの中の<head>~</head>の間に記入したら表示されたので、 次にIEの8にバージョンを落として表示させてみたら、また、レイアウト崩れが生じ てしまったので、また調べて、 参考サイト http://princesswell.rocketserver.jp/html/internetexplorer-compatibility-view/ <meta http-equiv="X-UA-Compatible" content="IE=8"/> や、 参考サイト http://blog.livedoor.jp/qb000sk/archives/51217790.html、 http://blog.livedoor.jp/nara_nissin/archives/35917734.html http://blog.livedoor.jp/nara_nissin/archives/35917069.html http://blog.livedoor.jp/nara_nissin/archives/35918185.html http://d.hatena.ne.jp/Awayann/20100125/1264417600 ・・・ と色々と当たってみたのですが、IE8の表示が一向に直らず困っています。 何か良い解決方法はないでしょうか? ご教授お願い致します。

  • 【閲覧注意】デスブログって… 桜塚やっくん死亡予言

    東原亜希さんのブログ、 デスブログって言われて、 偶然じゃ済まされない程予言的中。 なんと、 桜塚やっくん事故死の日時まで予言されてたとか… 皆はどう思うかな? 信じるか信じないかはあなた次第? http://matome.naver.jp/odai/2133738502304705401 http://michaelsan.livedoor.biz/archives/51804575.html

  • FDF Toolkitを使用してのpdf出力

    ASPでDBから読み込んだ値をセットしたpdfを表示したいのですが ネットで参考になりそうなページを探してその通り実行してるのですがうまくいかず困ってます。 Server オブジェクト エラー 'ASP 0178 : 80070005' Server.CreateObject アクセス エラー 許可を確認中に Server.CreateObject の呼び出しに失敗しました。このオブジェクトへのアクセスは拒否されます。 と表示されます。 サーバーは「Windows 2003 server」 参考にしているのは http://www.linkclub.or.jp/~ma3ki/webutil/pdf/ringi2/howtomake-pdf2.htmlです。 どうか、よろしくお願いします。

  • データ・BSS セグメントが分かれている理由

    実行可能プログラムのデータ領域に データセグメントと BSS セグメントがありますが、 初期値が設定されているかどうかでこれら 2 つを分ける理由がいまいちわからず悩んでいます。 下記ページを見ると、 「初期値のある変数の場合、初期値を実行ファイルに書き込んでおく必要があるのに対し、 初期値のない変数は実行ファイルに書き込んでおく必要がない」 と書かれているのですが、どうも 「初期値のない変数は実行ファイルに書き込んでおく必要がない」 についてよくわかっていません。 どなたか補足いただけると嬉しいです。よろしくお願いします block started by symbol - 辞書にない英語 - livedoor Wiki(ウィキ) http://wiki.livedoor.jp/yushinhozumi/d/block%20started%20by%20symbol .bss - Wikipedia http://ja.wikipedia.org/wiki/.bss

  • 配列にすると変数が入らない

    お世話になっています MS Excel2003のVBAで質問です find関数の結果を オブジェクト型変数だと入るのに、オブジェクト型配列だと入らない、 そういう仕様なんでしょうか? 成功 Dim result As Object Set result = wb2.Worksheets(1).Range(Cells(2, num), Cells(500, num)).Find(key) 実行時エラー1004 アプリケーション定義またはオブジェクト定義のエラーです Dim result(10) As Object '検索結果 Set result(0) = wb.Worksheets(1).Range(Cells(i, num), Cells(500, num)).Find(key)

  • テキストファイルへの出力方法

    テキストファイルへログを出力したいのですが、 VBの記述がわかりません。 やろうとしていることは、 ・Excelオープンと同時にログファイルをオープン ・ボタン押下時にログファイルに出力 です。 ファイルのオープンでは  'ワークブック オープンイベント Dim fs1, a As Object Set fs1 = CreateObject("Scripting.FileSystemObject") Set a = fs1.CreateTxtFile("ログファイル名", True) と記述し、出力時には  'ボタンクリックイベント    a.WriteLine("出力文字列") として出力をしようと思うのですが、 プロシージャが違うためか、出力時に 「オブジェクト変数またはWithブロックが定義されていません」とのエラーが出てしまいます。 Withブロックの定義は正しく書かれてあります。 どうやって回避できるでしょうか? 宜しくお願いします。

  • "Search Settings" というプログラムの消し方について

    いつのタイミングでインストールされたかは、分からないです。 色々調べた結果、実害はない(気づいてないだけ?)ようなのですが、 気になって消したいのですが、消せません。 http://blog.livedoor.jp/csh08ymatu/archives/51128981.html ↑のページを参考に削除を進めて行ったのですが、窓の手がvistaには対応していない?ようなので、"設定反映"を押すと"Exception Error"というウィンドウがでて、実行出来ません。 何か、"Search Settings" というプログラムの簡単な消し方はありませんか?あまりパソコンは詳しくありません。 すみませんが、よろしくお願い致します。

  • FileDateTime

    Dim MyFileName As String Dim MyPath As String Dim NewName As String Dim objFS As FileSystemObject Dim objFol, shellObj, folderObj, MyFolderName, myFile Dim New撮影日時 As String Sub test() MyFileName = "C:\Users\写真" Set objFS = CreateObject("Scripting.FileSystemObject") Set shellObj = CreateObject("Shell.Application") With objFS With .GetFolder(MyFileName) For Each MyFolder In .SubFolders MyPath = MyFileName & "\" & MyFolder.Name & "\" Set objFol = objFS.GetFolder(MyPath) Set folderObj = shellObj.Namespace(MyPath) MyFileName = Dir(MyPath & "*.*") Do While MyFileName <> "" ’ここでエラー New撮影日時 = FileDateTime(MyPath & folderObj.ParseName(MyFileName)) MyFileName = Dir() Loop Next End With End With Set objFS = Nothing End Sub このコードは何が変ですか? 写真フォルダに入っているサブフォルダの写真ファイルの撮影日時を取得したいのですが FileDateTime(MyPath & folderObj.ParseName(MyFileName)) で 実行時エラー_91「オブジェクト変数またはWithブロック変数が設定されていません」 になります。 原因がわかりません。 オフィス2010、アクセスです。

  • エラーについて

    実行すると、「xxxx.exeのデバック情報が見つからないか、または一致しません。シンボルが読み込まれていません。デバックを続行しますか?」と表示されるのですがこれをなくすにはどうしたらよいのでしょうか?また、なぜこのようなことが起きたのでしょうか?このサイトの(http://blog.livedoor.jp/yosinari4263/archives/cat_50013914.html)通り設定してやったのですが。消えません。どうしたらよいのでしょうか?