• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:画像のプロパティー書き出し)

Excelに画像のプロパティー情報を書き出す方法とは?

このQ&Aのポイント
  • Excelに画像(例:001.bmp)のプロパティー情報の書き出し方を教えてください。
  • 全般タブの書き出し方は調べて解りましたが、概要タブの書き出し方がわかりません。どのように入力すれば良いですか?
  • 参考コードに示されている方法を使用して、画像のパス、ファイル名、ファイル種別、最終更新日、フルパスをExcelに書き出すことができます。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

概要タブの内容は、実際にファイルを開いて見なければ分からない情報が含まれます。 LoadPicture関数 → IPictureDispクラス → Bitmapハンドル → GetObject(WinAPI) という流れでBitmapのヘッダ内容を取り出します。 Private Declare Function GetObject Lib "gdi32" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As Long Private Type BITMAP bmType As Long bmWidth As Long bmHeight As Long bmWidthBytes As Long bmPlanes As Integer bmBitsPixel As Integer bmBits As Long End Type Private Sub CommandButton1_Click() Dim img As IPictureDisp, bmp As BITMAP Set img = LoadPicture("L:\Zone データ退避\HDD修復資料\ACE_01.jpg") Call GetObject(img.Handle, Len(bmp), bmp) Debug.Print "横幅 = " & bmp.bmWidth Debug.Print "高さ = " & bmp.bmHeight Debug.Print "ビット深度 = " & bmp.bmBitsPixel End Sub DPIについては、BMPではスクリーンのDPIに常に一致していたはず…。(未確認) またBMPのフレーム数は常に1だと思います。

その他の回答 (2)

回答No.3

#1 Wizard_Zeroです(汗 今度は#2の訂正・・・orz LoadPictureでPNGは読めませんでした。 訂正前)LoadPictureで開けるファイル(BMP, JPEG, PNG, GIF等) 訂正後)LoadPictureで開けるファイル(BMP, JPEG, GIF等)

itokon0141
質問者

お礼

ご丁寧なご回答いただきありがとう御座います。 お返事が送りまして申し訳ございません。m(T_T)m Wizard_Zero様のご指導をご参考に勉強したいと思います。 本当に有り難う御座います。

回答No.2

#1 Wizard_Zeroです。付け足し・・・。 BMP前提での話しかしていませんが、LoadPictureで開けるファイル(BMP, JPEG, PNG, GIF等)であれば全て同じ方法で取得できると思います。 ただし、JPEG等DPIが指定できる画像形式の場合、形式によってDPIの取り方が代わってくるでしょう。突き詰めれば、ファイルごとにバイナリを読むことになりますが、どこまでの情報が必要なのか不明なのでひとまずここまでで。

関連するQ&A