اذهب الي المحتوي
أوفيسنا

سؤال بخصوص معرفة حجم مجلد فى مسار محدد


الردود الموصى بها

السلام عليكم ورحمة الله تعالى وبركاته

هل هناك كود او طريقة لمعرفة حجم مجلد فى مسار محدد سلفا 

ملحوظة قد يكون حجم المجلد بـ الكيلو بايت او بالميجا بايت او بالجيجا بايت حسب الملفات بداخلة

لذلك اتمنى ان وجدت طريقة ما لقياس حجم المجلد توضيح المساحة تفصيلا حسب الحجم

فلو كانت بالكيلو بايت تظهر بالكيلوبايت وان زادت وتعدت الميجابيت تكتب بالميجا بايت وان تعدت الجيجا بايت تظهر بالجيجا ثم الميجا 

كما فى الويندوز

 

جزاكم الله خيراً

رابط هذا التعليق
شارك

18 ساعات مضت, عبق الرياحيين said:

السلام عليكم ورحمة الله تعالى وبركاته

هل هناك كود او طريقة لمعرفة حجم مجلد فى مسار محدد سلفا 

ملحوظة قد يكون حجم المجلد بـ الكيلو بايت او بالميجا بايت او بالجيجا بايت حسب الملفات بداخلة

لذلك اتمنى ان وجدت طريقة ما لقياس حجم المجلد توضيح المساحة تفصيلا حسب الحجم

فلو كانت بالكيلو بايت تظهر بالكيلوبايت وان زادت وتعدت الميجابيت تكتب بالميجا بايت وان تعدت الجيجا بايت تظهر بالجيجا ثم الميجا 

كما فى الويندوز

 

جزاكم الله خيراً

اتفضل اخي اليك هذا
 

Function FolderSize(filespec)
    Dim fs, f, s
    Dim SizeName As String
    Dim SizeFil As Long
        Set fs = CreateObject("Scripting.FileSystemObject")
            Set f = fs.GetFolder(filespec)
        If f.Size >= 1 And f.Size <= 1023 Then
                SizeName = " Byte "
                SizeFil = f.Size
            ElseIf f.Size >= 1024 And f.Size <= 1048575 Then
                SizeName = " KB "
                SizeFil = f.Size / 1024
            ElseIf f.Size >= 1048576 And f.Size <= 1073741823 Then
                SizeName = " MB "
                SizeFil = f.Size / 1048576
            ElseIf f.Size >= 1073741824 And f.Size <= 1099511627775# Then
                SizeName = " GB "
                SizeFil = f.Size / 1073741824
            ElseIf f.Size >= 1099511627776# Then
                SizeName = " TB "
                SizeFil = f.Size / 1099511627776#
           End If
    
    s = UCase(f.Name) & " Size Folder is ( " & SizeFil & " )" & SizeName
    MsgBox s ', 0, "Folder Size Info"
End Function
          
Private Sub Command0_Click()
    FolderSize ("C:\Users\MyShiv\Downloads")
End Sub

 

تم تعديل بواسطه Shivan Rekany
  • Like 2
رابط هذا التعليق
شارك

لزيادة الفائدة من أجل حساب حجم ملف نغير السطر التالي بالكود الذي وضعه صديقي شفان:

1 ساعه مضت, Shivan Rekany said:

Set f = fs.GetFolder(filespec)

بهذا السطر

Set f = fs.GetFile(filespec)

 

  • Like 2
رابط هذا التعليق
شارك

6 hours ago, Shivan Rekany said:

اتفضل اخي اليك هذا
 


Function FolderSize(filespec)
    Dim fs, f, s
    Dim SizeName As String
    Dim SizeFil As Long
        Set fs = CreateObject("Scripting.FileSystemObject")
            Set f = fs.GetFolder(filespec)
        If f.Size >= 1 And f.Size <= 1023 Then
                SizeName = " Byte "
                SizeFil = f.Size
            ElseIf f.Size >= 1024 And f.Size <= 1048575 Then
                SizeName = " KB "
                SizeFil = f.Size \ 1024
            ElseIf f.Size >= 1048576 And f.Size <= 1073741823 Then
                SizeName = " MB "
                SizeFil = f.Size \ 1048576
            ElseIf f.Size >= 1073741824 And f.Size <= 1099511627775# Then
                SizeName = " GB "
                SizeFil = f.Size \ 1073741824
            ElseIf f.Size >= 1099511627776# Then
                SizeName = " TB "
                SizeFil = f.Size \ 1099511627776#
           End If
    
    s = UCase(f.Name) & " Size Folder is ( " & SizeFil & " )" & SizeName
    MsgBox s ', 0, "Folder Size Info"
End Function
          
Private Sub Command0_Click()
    FolderSize ("C:\Users\MyShiv\Downloads")
End Sub

 

السلام عليكم

اولا  : مرسي لحضراتكم جدا جدا

ثانيا : فى ملحوظة بسيطة انا جربت مجلد مساحتة الفعلية  (1,145,179,239 bytes)     ـ    1.06 GB

طالع بالكود  1 جيجا فقط

ثالثا :  فى مشكله كبيرة لما المساحة زادت وأصبحت بالويندوز  (1,430,109,334 bytes)     ـ   1.33 GB 

طالع بالكود  1 جيجا فقط كذلك

رابعا:  وايضا عندما زادت وأصبحت المساحة على الويندوز  (1,999,994,880 bytes)     ـ  1.86 GB 

طالع بالكود  1 جيجا فقط كذلك

خامسا:  عندما زادت وأصبحت المساحة على الويندوز  (2,152,608,364 bytes)     ـ  2.00 GB

ظهر رسالة خطأ كما بالملف المرفق ويتم ايضاح الخطأ من زر الأمر  اظهر المساحة

 

هل هنااك حل ..   للعلم طلبى لغرض متابعة مجلدات تخص العمل حتى اذا وصلت النتيجة للمجلد الى 4 جيجا اريد عمل انذار وتنبيه حتى اقوم بعمل باك اب لكل البيانات على dvd

فأنا فى أمس الحاجة الى هذا الكود الله يرضى عنكم ان شاء الله

 

Folder Size.mdb

رابط هذا التعليق
شارك

3 ساعات مضت, عبق الرياحيين said:

السلام عليكم

اولا  : مرسي لحضراتكم جدا جدا

ثانيا : فى ملحوظة بسيطة انا جربت مجلد مساحتة الفعلية  (1,145,179,239 bytes)     ـ    1.06 GB

طالع بالكود  1 جيجا فقط

ثالثا :  فى مشكله كبيرة لما المساحة زادت وأصبحت بالويندوز  (1,430,109,334 bytes)     ـ   1.33 GB 

طالع بالكود  1 جيجا فقط كذلك

رابعا:  وايضا عندما زادت وأصبحت المساحة على الويندوز  (1,999,994,880 bytes)     ـ  1.86 GB 

طالع بالكود  1 جيجا فقط كذلك

خامسا:  عندما زادت وأصبحت المساحة على الويندوز  (2,152,608,364 bytes)     ـ  2.00 GB

ظهر رسالة خطأ كما بالملف المرفق ويتم ايضاح الخطأ من زر الأمر  اظهر المساحة

 

هل هنااك حل ..   للعلم طلبى لغرض متابعة مجلدات تخص العمل حتى اذا وصلت النتيجة للمجلد الى 4 جيجا اريد عمل انذار وتنبيه حتى اقوم بعمل باك اب لكل البيانات على dvd

فأنا فى أمس الحاجة الى هذا الكود الله يرضى عنكم ان شاء الله

 

Folder Size.mdb

اعتذر من الجماعة
كان خطأ في الكود وهو بدل ان استخدم اشارة تقسيم "/" انا استخدمت هذا "\"
اتفضل اخي التعديل على القاعدة

وتم تعديل على كود في مشاركتي الاولى

Folder Size.mdb

تم تعديل بواسطه Shivan Rekany
  • Like 1
رابط هذا التعليق
شارك

3 دقائق مضت, Shivan Rekany said:

اعتذر من الجماعة
كان خطأ في الكود وهو بدل ان استخدم اشارة تقسيم "/" انا استخدمت هذا "\"
اتفضل اخي التعديل على القاعدة

 

Folder Size.mdb

راااااااااااااااااااائع استاذ شيفان

انا جربت وطلع لى الرقم كده 109.062536341138 GB 

والمساحة للمجلد ده عندى فعلا    109  قيقا

طبعا ممكن نستخدم الدالة روند للتقريب للو اردنا صح ؟ واللا ايه رأى حضرتك

  • Like 1
رابط هذا التعليق
شارك

1 دقيقه مضت, ابا جودى said:

راااااااااااااااااااائع استاذ شيفان

انا جربت وطلع لى الرقم كده 109.062536341138 GB 

والمساحة للمجلد ده عندى فعلا    109  قيقا

طبعا ممكن نستخدم الدالة روند للتقريب للو اردنا صح ؟ واللا ايه رأى حضرتك

نعم 
لكن حسب كنا نريد ان يظهر الحجم بالضبط ... واذا صاحب السؤال يريد ذلك نقدر ان نستخدمه

  • Like 1
رابط هذا التعليق
شارك

1 دقيقه مضت, ابا جودى said:

استاذ @Shivan Rekany :fff::fff:  اولا تسلم ايدك

ممكن اتقل على حضرتك بسؤال فى نفس سياق الموضوع لو تكرمت 

اتفضل استاذ الحبيب 
نحن في خدمتك 

  • Thanks 1
رابط هذا التعليق
شارك

الله يعلى قدرك ويرفع شأنك يارب
بص يا استاذى الكريم

انا من قبل فترة وجدت هذا الكود

Sub FolderSize()
    Dim fso As Object, fsoFolder As Object

    Const strFolderName = "D:\xxx"
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set fsoFolder = fso.GetFolder(strFolderName)

    MsgBox fsoFolder.Size & " bytes"

    Set fsoFolder = Nothing
    Set fso = Nothing

End Sub


--------
Private Sub Command0_Click()
Call FolderSize
End Sub

كان له وقتها مشكله معى وهى التحويل من البايت للكيلو والميجا والقيقا بصراحة مش عارفهم ومحبش الحسابات:blink::blink: ههههههه

لما اليوم حاولت ارد على اختنا الكريمة صاحبة السؤال 

هى بصراحة عملت مرونة فى التصميم حاولت اغير الكود فى السطر ده

 Const strFolderName = "D:\xxx"

لاستبدل المسار الثابت فى الكود   D:\xxx    بالمسار المحدد فى مربع النص من النموذج وللاسف لم استطع عمل ذلك وهذا محور سؤالى فكيف السبيل الى ذلك

طبعا اولا واخيرا حضرتك ما شاء الله كفيت ووفيت ولكن انا اسال من باب العلم اخى الكريم فى المعضلة التى تعرضت انا لها

 

تم تعديل بواسطه ابا جودى
  • Like 1
رابط هذا التعليق
شارك

11 دقائق مضت, ابا جودى said:

لاستبدل المسار الثابت فى الكود   D:\xxx    بالمسار المحدد فى مربع النص من النموذج وللاسف لم استطع عمل ذلك وهذا محور سؤالى فكيف السبيل الى ذلك

یعنی حضرتك يريد ان يختار فولدر من الكومبيوتر و يستخرج لك الحجم الفولدر المختارة ؟
اذا نعم حمل المرفق الاخير بها ما تريد
واذا لا ... اذا تشرح لي اكثر سنكون من الشاكرين
تحياتي

  • Thanks 1
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information