• ベストアンサー

Excelに画像サイズを書き出し

今、Excelのマクロを使いフォルダー内にある30コ 以上の画像のサイズ(ピクセル数)をExcel表に書き出したいと 思ってるのですが、教えて頂けないでしょうか?? 宜しくお願いいたします。

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

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

Sub GetImageSize(ByVal f, ByRef x, ByRef y) Dim p Set p = LoadPicture(f) x = CLng(CDbl(p.Width) * 24 / 635) y = CLng(CDbl(p.Height) * 24 / 635) Set p = Nothing End Sub Sub main() Dim FSO As New FileSystemObject Dim FLD As Folder Dim FLE As File Dim FF As File Dim x As Long Dim y As Long Set FLD = FSO.GetFolder("フォルダー名") For Each FF In FLD.Files Call GetImageSize(FF, x, y) MsgBox FF.Name & ":" & x & "×" & y Next FF End Sub で出来ます。 ただし、フォルダーに画像以外のファイルがあるとこけます。 もう一工夫してください

参考URL:
http://www.geocities.co.jp/SiliconValley/4334/unibon/asp/getimagesize.html
itokon0141
質問者

補足

お返事が遅くなりすみません。 参考URLありがとう御座います。 まだまだ、初心者なのでLoadPicture関数とは初めて知りました。 補足内容を加えさせて頂きます。 上記の内容で実行すると"Dim FSO As New FileSystemObject"の部分で 『コンパイル エラー:ユーザー定義型は定義されていません。』 と表示が出ます。 どのように解決をしたら良いのでしょうか? 教えて頂けないでしょうか?宜しくお願いします。

その他の回答 (3)

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.4

<結果を順にExcelに記入したい> Excel VBAで実行しているのなら、質問するまでも無いことです。 単に cells(行,列).value = 何々 とか range("A1").value とか でシートのセルにセットするだけでしょ。

itokon0141
質問者

お礼

色々ありがとう御座います。 今回の件ですごく勉強になりました。

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.3

"Scripting.FileSystemObject"を使うときは、 VBE(VisualBasicEditor)の  ツール=>参照設定 を選んで   「Microsoft Scripting Runtime」 にチェックを付けます。

itokon0141
質問者

補足

ありがとう御座います。 ご指導のおかげで画像の大きさが出てきました。 すみません、何度も質問をするのは心苦しいのですが 出てきた画像の大きさを読み取り順にExcelに記入したい と思っています。 後少し、お知恵を貸して頂けないでしょうか? 宜しくお願い致します。

回答No.2

フォルダの名前を[XYZ]とします。 Dim A,BDim AA Dim AAA,BBB,CCC,DDD Dim XXX() Set AAA = CreateObject("Scripting.FileSystemObject") Set BBB = AAA.GetFolder("XYZ") Set CCC=BBB.Files A=CCC.Count ReDim XXX(A,2) B=0 For Each DDD In CCC AA=DDD.Name C = InStr(AA, ".JPG") + InStr(AA, ".jpg") +InStr(AA, ".JPEG") + InStr(AA, ".jpeg") +InStr(AA, ".BMP") + InStr(AA, ".bmp") If C>0 Then B=B+1 XXX(B,1)=AA XXX(B,2)=DDD.Size End If Next Bに画像ファイルの個数 XXX(i,1)に画像ファイルの名前 XXX(i,2)に画像ファイルのサイズ が取得されます。 これをどういう風にOutputするかについてはご自分で

itokon0141
質問者

お礼

勉強になりました。 ありがとう御座います。

itokon0141
質問者

補足

お教えて頂きありがとう御座います。   補足内容を加えさせて頂きます。 すみません、説明不足で申し訳ございません。 画像サイズとは画像の大きさ(縦何dot x 横何dot) のことです。 もう一度、お教えて頂けるのなら宜しくお願い致します。

関連するQ&A

専門家に質問してみよう