str="drive" & vbTab & "total" & vbTab & "used" & vbTab & vbTab & "free" & vbTab & vbTab & "unit:[GB]" & vbCRLF str2="" str3="" Set FS_obj = CreateObject("Scripting.FileSystemObject") for each drive in FS_obj.drives On Error Resume Next if drive.isready then drive_usedspace = drive.totalsize-drive.freespace drive_usedper = drive_usedspace*100/drive.totalsize drive_freeper = drive.freespace*100/drive.totalsize str = str & drive.driveletter & vbTab str = str & Int(drive.totalsize / 1024^3 *10)/10 & vbTab str = str & Int(drive_usedspace / 1024^3 *10)/10 & vbTab str = str & "[" & Int(drive_usedper *10)/10 & "%]" & vbTab str = str & Int(drive.freespace / 1024^3 *10)/10 & vbTab str = str & "[" & Int(drive_freeper *10)/10 & "%]" & vbCRLF str2= str2& drive.driveletter & vbTab str2= str2& Int(drive.totalsize / 1024^3 *10)/10 & vbTab str2= str2& String(drive_usedper,"*") & String(100-drive_usedper,"-") & vbCRLF str3= str3& drive.driveletter & vbTab str3= str3& Int(drive.totalsize / 1024^3 *10)/10 & vbTab str3= str3& String(drive_usedspace / 1024^3 / 1.5,"*") & String(drive.freespace / 1024^3 / 1.5,"-") & vbCRLF else str = str & drive.driveletter & vbTab str = str & "false" & vbTab str = str & "false" & vbTab & vbTab str = str & "false" & vbCRLF end if next document.selection.Text = str & vbCRLF & vbCRLF & str2 & vbCRLF & vbCRLF & str3 Set FS_obj = Nothing
全部のドライブから情報を取得するため、実行に時間がかかります。(うちの環境では5~10秒かかりました)
コードが見づらいのはご愛敬。