質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

2回答

7195閲覧

エクセルVBA よりフォルダ内にあるファイルのサイズ表示

退会済みユーザー

退会済みユーザー

総合スコア0

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2016/04/25 07:14

現在、エクセルにてVBAでプログラムを書いております。
指定のフォルダ内に入ってあるファイルのサイズをすべて表示するプログラムが分かりません。
Dir関数を使って、フォルダ内にあるファイルはすべて表示出来ているのですが、それにプラスしてサイズの表示がうまくいきません。
いろいろ調べて、「FileLen」がファイルサイズを表示してくれると分かったのですが、ファイルを指定してくださいといわれてしまい、1つしかサイズ表示出来ません。

説明下手で申し訳ありませんが、
分かる方いらっしゃいましたらお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

FileLen 関数

Public Function FileLen(ByVal PathName As String) As Long

パラメータ
PathName
必ず指定します。ファイル名を指定する文字列 (String) 式です。PathName にはディレクトリ名またはフォルダ名、およびドライブ名も含めて指定できます。

メッセージから想像するに引数に値をセットしてなかったのでは?

たとえば

vba

1Dim path = "C:\temp\" 2Dim buf as String 3buf = Dir(path + "*.*") 4 5Dim fileName As String 6 7Do While Len(buf) > 0 8 fileName = path + buf 9 MsgBox buf + ":" + CStr(FileLen(fileName)) 10Loop

などとすれば取得できますね。

投稿2016/04/25 07:27

tkturbo

総合スコア5572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/04/25 07:56

回答していただきありがとうございました。
guest

0

ベストアンサー

やり方は色々あると思いますが、Dir関数を使っているとのことでその一例。

Dim fname As String Dim path As String Dim flen As Long path = "c:\temp\" fname = Dir(path & "\*.*") Do While fname <> "" flen = FileLen(path & fname) Debug.Print fname & "," & CStr(flen) fname = Dir() Loop

投稿2016/04/25 07:24

編集2016/04/25 07:24
ttyp03

総合スコア16998

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/04/25 07:56

無事に表示することが出来ました。 お早い回答に感謝いたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問