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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelのマクロコードについて教えてください。 1 2022/03/27 10:47
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) 列の最終行に新たに入力されたらその値を自動参照 1 2023/01/21 09:59
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) エクセルVBA(実行時エラー438)の対処法を教えてもらえないでしょうか 3 2023/04/22 13:43
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/10 14:24
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#include <Windows.h>というヘ...
-
Latexで図番号だけを「図1.1」...
-
自分で作成した重要ファイルを...
-
アクセス 壊れた? 「ファイ...
-
binファイルを解凍したいの...
-
.NETアプリを作ったときの .man...
-
参照するファイルをワイルドカ...
-
ADODB.Streamで開いたファイル...
-
コマンドプロンプトで作成日時...
-
exeファイルの中身を見る方法は...
-
jarファイル
-
VB.netで DirListBoxを使いたい
-
実行ファイル(.exeファイル)...
-
ハイパーリンクされたJPGファイ...
-
g1tファイルとは
-
既に開いているエクセルを閉じ...
-
公文書のxmlファイルの開き方が...
-
Seasar2のdiconファイルの読み方
-
バッチ処理で追記コピーしたい
-
Word VBA MSGBOX 内で降順表示
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
iPhoneでXMLファイルを開くには...
-
公文書のxmlファイルの開き方が...
-
binファイルを解凍したいの...
-
アクセス 壊れた? 「ファイ...
-
.NETアプリを作ったときの .man...
-
リンクの張り付けかたを教えて...
-
#include <Windows.h>というヘ...
-
jarファイル
-
Seasar2のdiconファイルの読み方
-
Word VBA MSGBOX 内で降順表示
-
監視ツールを入れさせられまし...
-
CSSを1ページに1枚作るのって変...
-
コマンドプロンプトで、指定し...
-
ファイルが開かれているかどう...
-
exeファイルをデータ転送サービ...
-
パイソンでpy ファイルと p...
-
exeファイルの中身を見る方法は...
-
Latexで図番号だけを「図1.1」...
-
参照するファイルをワイルドカ...
-
バッチ処理で追記コピーしたい
おすすめ情報