Bu örnekte üzerinde çalıştığım excel sayfasının dosya boyutunu byte, kilobyte ve megabyte cinsinden mesaj olarak gösteren kod örneğini paylaştım. Diğer dosyalar/dosya türleri için de çalıştırılabilir.
Option Explicit
Sub DosyaBoyutunuByteBirimindenDonustur()
Dim fso As Object
Dim dosya As Object
Dim sonuc As String
Set fso = CreateObject("Scripting.FileSystemObject")
Set dosya = fso.GetFile(ThisWorkbook.FullName)
sonuc = "DOSYA ADI: " & ThisWorkbook.Name & vbCrLf
sonuc = sonuc & vbCrLf
sonuc = sonuc & "BOYUT BYTE:" & dosya.Size & " B" & vbCrLf
sonuc = sonuc & "BOYUT KILOBYTE: " & Format((dosya.Size / 1024), "0.00") & " KB" & vbCrLf
sonuc = sonuc & "BOYUT MEGABYTE: " & Format((dosya.Size / 1048576), "0.00") & " MB" & vbCrLf
sonuc = sonuc & "BOYUT GIGABYTE: " & Format((dosya.Size / 1073741823), "0.00") & " GB" & vbCrLf
MsgBox sonuc, , "Dosya Boyutu Bilgisi"
End Sub
Option Explicit
Sub DosyaBoyutunuByteBirimindenDonustur()
'--------------------------------------------------
'Değişkenler
'--------------------------------------------------
Dim fso As Object
Dim dosya As Object
Dim sonuc As String
'--------------------------------------------------
'Nesne örneğini oluşturduk.
'--------------------------------------------------
Set fso = CreateObject("Scripting.FileSystemObject")
'--------------------------------------------------
'Dosya ismini aldık.
'--------------------------------------------------
Set dosya = fso.GetFile(ThisWorkbook.FullName)
'--------------------------------------------------
'Format metodu yardımıyla sayı biçimlendirme
'yaparken 1024'e bölerek de dönüşüm yapıyoruz.
'İki hanelik küsürat ekleyerek daha iyi bir
'sonuç alabiliriz.
'--------------------------------------------------
sonuc = "DOSYA ADI: " & ThisWorkbook.Name & vbCrLf
sonuc = sonuc & vbCrLf
sonuc = sonuc & "BOYUT BYTE:" & dosya.Size & " B" & vbCrLf
sonuc = sonuc & "BOYUT KILOBYTE: " & Format((dosya.Size / 1024), "0.00") & " KB" & vbCrLf
sonuc = sonuc & "BOYUT MEGABYTE: " & Format((dosya.Size / 1048576), "0.00") & " MB" & vbCrLf
sonuc = sonuc & "BOYUT GIGABYTE: " & Format((dosya.Size / 1073741823), "0.00") & " GB" & vbCrLf
'--------------------------------------------------
'sonuc değişkenindeki metni mesaj olarak göster.
'--------------------------------------------------
MsgBox sonuc, , "Dosya Boyutu Bilgisi"
End Sub