こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

EXCEL VBAでフォルダ容量の測定

お世話になります.
EXCELでフォルダの容量を自動で測量するツールを作成中です.
大まかな概要としては,1枚目のシートのセルにあらかじめ測定対象となるフォルダのパスを記述しておき,
そのパスをもとに2枚目のシートに測定した容量を出力したいと考えています.

作成中のソースから抜粋させて頂きますが,以下の部分が上手くいきません.

<<作成中のソース>>
Sub FolderSize_Count()

Dim FSO As Variant
Set FSO = CreateObject("Scripting.FileSystemObject")
Dim Path As String

With Sheets("Sheet2")
Path = Application.Worksheets("sheet1").Range("A1").Value
.Cells(1, 1) = FSO.GetFolder("Path").Size
End With

End Sub

<<不明点>>
FSO.GetFolder("Path").Size の"Path"の部分には対象フォルダのパスを記述する必要があるが,
別シートから取得した値を" "に反映させる記述が分かりません.

ちなみに
Application.Worksheets("sheet1").Range("A1").Valueにて,対象フォルダのパスを取得出来ていることと,
FSO.GetFolder("C:\test").Sizeにて,Cドライブ直下のtestフォルダの容量を取得できることは確認済みです.

お手数お掛けいたしますが,有識者の方,ご教授頂ければ幸いです.
以上,よろしくお願いいたします.

投稿日時 - 2008-01-25 22:55:22

QNo.3713610

困ってます

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

Pathが変数なら『"』でくくってしまってはいけません

.Cell(1,1) = FSO.GetFolder(Path).Size
といった具合にします

『"』でくくってしまうと カレントフォルダにある.\Pathを探します

投稿日時 - 2008-01-25 23:04:46

お礼

ご指摘通り修正し,意図通り動作しました.
ありがとうございました.

投稿日時 - 2008-01-25 23:19:03

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問