![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67b6d)
Excelに画像(例:001.bmp)のプロパティー情報の書き出し方を
教えてください。
"全般"タブの書き出し方はだいたい調べて解りました。
*下記コード参考
"概要"タブの書き出し方がわかりません。
下記のように入力するにはどうしたら良いのでしょうか?
教えてください。
*参考コード*
ThisWorkbook.Sheets(1).Range("A1") = "パス"
ThisWorkbook.Sheets(1).Range("B1") = "ファイル名"
ThisWorkbook.Sheets(1).Range("C1") = "ファイル種別"
ThisWorkbook.Sheets(1).Range("D1") = "最終更新日"
ThisWorkbook.Sheets(1).Range("E1") = "フルパス"
~省略~
ThisWorkbook.Sheets(1).Cells(i, 1) = Target
'ファイル名
sFile = Fx.Name
'ファイル名の書き出し
ThisWorkbook.Sheets(1).Cells(i, 2) = sFile
'ファイル種別
sFType = Fx.Type
'最終更新日時の書き出し
ThisWorkbook.Sheets(1).Cells(i, 3) = sFType
'最終更新日
sLMod = Fx.DateLastModified
ThisWorkbook.Sheets(1).Cells(i, 4) = sLMod
'フォルダフルパス
SFull = Target & "\" & sFile
ThisWorkbook.Sheets(1).Cells(i, 5) = SFull
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だと思います。
No.3
- 回答日時:
#1 Wizard_Zeroです(汗
今度は#2の訂正・・・orz
LoadPictureでPNGは読めませんでした。
訂正前)LoadPictureで開けるファイル(BMP, JPEG, PNG, GIF等)
訂正後)LoadPictureで開けるファイル(BMP, JPEG, GIF等)
ご丁寧なご回答いただきありがとう御座います。
お返事が送りまして申し訳ございません。m(T_T)m
Wizard_Zero様のご指導をご参考に勉強したいと思います。
本当に有り難う御座います。
No.2
- 回答日時:
#1 Wizard_Zeroです。
付け足し・・・。BMP前提での話しかしていませんが、LoadPictureで開けるファイル(BMP, JPEG, PNG, GIF等)であれば全て同じ方法で取得できると思います。
ただし、JPEG等DPIが指定できる画像形式の場合、形式によってDPIの取り方が代わってくるでしょう。突き詰めれば、ファイルごとにバイナリを読むことになりますが、どこまでの情報が必要なのか不明なのでひとまずここまでで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
binファイルを解凍したいの...
-
アクセス 壊れた? 「ファイ...
-
#include <Windows.h>というヘ...
-
exeファイルの中身を見る方法は...
-
.NETアプリを作ったときの .man...
-
公文書のxmlファイルの開き方が...
-
ゲームの中身を見てみたい
-
warファイルをEclipseでプロジ...
-
TIFFファイルを印刷できますか?
-
VB.NET ファイルの種別取得方法
-
Batファイルをバイナリ形式にす...
-
VBで「.tif」または「.pdf」...
-
C言語---ファイルに出力したデ...
-
Seasar2のdiconファイルの読み方
-
VBAでのicsファイル変換
-
VBAのバイナリ出力について
-
リンクの張り付けかたを教えて...
-
コマンドプロンプトで作成日時...
-
jarファイル
-
監視ツールを入れさせられまし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
binファイルを解凍したいの...
-
アクセス 壊れた? 「ファイ...
-
コマンドプロンプトで作成日時...
-
公文書のxmlファイルの開き方が...
-
#include <Windows.h>というヘ...
-
.NETアプリを作ったときの .man...
-
exeファイルの中身を見る方法は...
-
jarファイル
-
自分で作成した重要ファイルを...
-
Seasar2のdiconファイルの読み方
-
バッチ処理で追記コピーしたい
-
VBAでのicsファイル変換
-
監視ツールを入れさせられまし...
-
参照するファイルをワイルドカ...
-
「ブルーファイル」と「グリー...
-
HTMLからのBATファイル実行
-
Latexで図番号だけを「図1.1」...
-
C言語---ファイルに出力したデ...
-
Windowsのエクスプローラーでフ...
-
warファイルをEclipseでプロジ...
おすすめ情報