|
thisworkbookをディスクに保存(上書き保存など)する際、空きがないと保存できませんので、ディスクの空き容量とthisworkbookのファイルサイズを調べてから保存するか否か判断するプログラムを作りたいと思います。
(例、thisworkbookファイルサイズ < ディスクの空き容量 − thisworkbookファイルサイズ trueだったら保存する)
そこでファイルシステムオブジェクトというものを調べ自分なりに作ってみましたが、下記のような感じで問題ないでしょうか。
また、.drive.freespaceの部分の先頭文字が自動的に大文字になりませんでしたが、これでも問題ないのでしょうか。
sub test()
Dim FSO As Object
Dim drvFree As Double
Dim fileSize As Double
Set FSO = CreateObject("Scripting.FileSystemObject")
'ディスク空き容量計算
drvFree = FSO.GetFile(ThisWorkbook.Path & "\" & ThisWorkbook.Name).drive.freespace
'ファイルサイズ計算
fileSize = FSO.GetFile(ThisWorkbook.Path & "\" & ThisWorkbook.Name).Size
If fileSize < drvFree - fileSize Then
MsgBox "保存できます"
Else
MsgBox "保存できません"
End If
End Sub
|
|