
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/un …
この回答への補足
お返事が遅くなりすみません。
参考URLありがとう御座います。
まだまだ、初心者なのでLoadPicture関数とは初めて知りました。
補足内容を加えさせて頂きます。
上記の内容で実行すると"Dim FSO As New FileSystemObject"の部分で
『コンパイル エラー:ユーザー定義型は定義されていません。』
と表示が出ます。
どのように解決をしたら良いのでしょうか?
教えて頂けないでしょうか?宜しくお願いします。
No.4
- 回答日時:
<結果を順にExcelに記入したい>
Excel VBAで実行しているのなら、質問するまでも無いことです。
単に cells(行,列).value = 何々 とか
range("A1").value とか
でシートのセルにセットするだけでしょ。
No.3
- 回答日時:
"Scripting.FileSystemObject"を使うときは、
VBE(VisualBasicEditor)の
ツール=>参照設定 を選んで
「Microsoft Scripting Runtime」
にチェックを付けます。
この回答への補足
ありがとう御座います。
ご指導のおかげで画像の大きさが出てきました。
すみません、何度も質問をするのは心苦しいのですが
出てきた画像の大きさを読み取り順に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するかについてはご自分で
この回答への補足
お教えて頂きありがとう御座います。
補足内容を加えさせて頂きます。
すみません、説明不足で申し訳ございません。
画像サイズとは画像の大きさ(縦何dot x 横何dot)
のことです。
もう一度、お教えて頂けるのなら宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
【VBA】シート上の複数のチェッ...
-
Excelで指定した日付から過去の...
-
任意フォルダから画像をすべて...
-
i=cells(Rows.Count, 1)とi=cel...
-
エクセルvbaで、別シートの最下...
-
Excel VBA、 別ブックの最終行...
-
Excel VBAで比較して数値があっ...
-
RC表示に変数を入れる
-
特定の文字を条件に行挿入とそ...
-
VBA ユーザーフォーム ボタンク...
-
ExcelのVBAで数字と文字列をマ...
-
【Excel】指定したセルの名前で...
-
Application.Matchで特定行の検索
-
VBA実行後に元のセルに戻りたい
-
エクセル 複数範囲の中の1セル...
-
VBAでセル同士を比較して色付け
-
エクセルvba:自己セルの情報取...
-
セル色なしの行一括削除
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
特定行の色を変えたい(FlexGrid)
-
i=cells(Rows.Count, 1)とi=cel...
-
Excelで指定した日付から過去の...
-
エクセルvbaで、別シートの最下...
-
VBA実行後に元のセルに戻りたい
-
Application.Matchで特定行の検索
-
”戻り値”が変化したときに、マ...
-
VBAでセルをクリックする回...
-
任意フォルダから画像をすべて...
-
Excel VBAで、 ヘッダーへのセ...
-
TODAY()で設定したセルの日付...
-
【Excel VBA】指定行以降をクリ...
-
Excel vbaで特定の文字以外が入...
-
ExcelのVBAで数字と文字列をマ...
-
Excel VBA、 別ブックの最終行...
-
DataGridViewの各セル幅を自由...
-
VBA ユーザーフォーム ボタンク...
-
連続する複数のセル値がすべて0...
おすすめ情報