アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (4件)

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/un …

この回答への補足

お返事が遅くなりすみません。
参考URLありがとう御座います。
まだまだ、初心者なのでLoadPicture関数とは初めて知りました。

補足内容を加えさせて頂きます。

上記の内容で実行すると"Dim FSO As New FileSystemObject"の部分で
『コンパイル エラー:ユーザー定義型は定義されていません。』
と表示が出ます。
どのように解決をしたら良いのでしょうか?
教えて頂けないでしょうか?宜しくお願いします。

補足日時:2009/06/05 10:54
    • good
    • 0

<結果を順にExcelに記入したい>


Excel VBAで実行しているのなら、質問するまでも無いことです。
単に cells(行,列).value = 何々 とか
range("A1").value とか
でシートのセルにセットするだけでしょ。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/06/08 11:16

"Scripting.FileSystemObject"を使うときは、


VBE(VisualBasicEditor)の
 ツール=>参照設定 を選んで
  「Microsoft Scripting Runtime」
にチェックを付けます。

この回答への補足

ありがとう御座います。
ご指導のおかげで画像の大きさが出てきました。

すみません、何度も質問をするのは心苦しいのですが
出てきた画像の大きさを読み取り順にExcelに記入したい
と思っています。

後少し、お知恵を貸して頂けないでしょうか?
宜しくお願い致します。

補足日時:2009/06/05 17:06
    • good
    • 0

フォルダの名前を[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するかについてはご自分で

この回答への補足

お教えて頂きありがとう御座います。
 
補足内容を加えさせて頂きます。

すみません、説明不足で申し訳ございません。
画像サイズとは画像の大きさ(縦何dot x 横何dot)
のことです。

もう一度、お教えて頂けるのなら宜しくお願い致します。

補足日時:2009/06/05 11:04
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/06/08 11:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!