چگونه بدست اوردن حجم هر شیت در یک WORKBOOK ؟

Collapse
X
 
  • زمان
  • نمایش
Clear All
new posts
  • Nima

    • 2011/07/22
    • 385

    چگونه بدست اوردن حجم هر شیت در یک WORKBOOK ؟

    با سلام

    کسی از دوستان میتونه کمک کنه چه طوری میشه حجم هر شیت رو در فایل اکسل بدست اورد
    مثلا من یه فایل دارم 10 تا شیت داره می خوام حجم هر شیت رو به تنهائی داشته باشم...


    با تشکر
    ************************************
    No LION's roar ruins my hut, I afraid of TERMITE's silence
    ************************************

  • m_d6712

    • 2010/05/22
    • 174

    #2
    RE: چگونه بدست اوردن حجم هر شیت در یک WORKBOOK ؟

    سلام دوست عزیز یک سری راه پیشنهادی در این فروم هست که ممکته به دردت بخوره! اما به طور کلی راه خاصی به صورت روتین وجود نداره!
    http://www.excelforum.com/excel-programming-vba-macros/711768-macro-to-determine-size-of-each-tab-in-workbook.html

    و همچنین یک قمست این مطلب دیده می شود که من فقط ترجمه می کنم.
    Each worksheet is embedded within the Excel workbook partly as executable directives, partly as constants, variables, and other objects. Excel also pads the worksheet buffer area based on its best guess of your future needs. Given all this, there is no built in function nor a macro that could be created outside of Excel to accurately tell you how much space the worksheet occupies on the disk.
    "هر worksheet به صورت ترکیبی از متغیر ها، ثابت ها، شی ها و موارد اجرایی در یک workbook ترکیب شده است. اکسل همچنین یک مقدار حافظه بافر رو برای نیاز احتمالی آینده ی worksheet ذخیره میکنه! با توجه به این موارد هیچ ماژول خاصی یا ماکرو برای محاسبه اندازه دقیق یک work شیت موحود نمی باشد. "

    با این حال روش هایی نیز وجود دارد.

    یک روش این است که یک WORKBOOK دیگر به وسیله vba تولید کرده و شیت مورد نظر رو در آن کپی کنید و WORKBOOK را ذخیره کنید. سپس با استفاده از vba قادر خواهید بود که اندازه فایل EXCEL تولید شده رو محاسبه کنید. لزوما این یک روش دقیق نیست.

    روش های دیگری نیز وحود دارد که همه به همین اندازه روش اول و یا بیشتر پیچیدگی دارد.
    -------
    http://md6712.com
    جامعه ایده پردازان: http://idekadeh.com

    کامنت

    • Nima

      • 2011/07/22
      • 385

      #3
      RE: چگونه بدست اوردن حجم هر شیت در یک WORKBOOK ؟

      با تشکر از شما دوست عزیز

      من یه ماژول پیدا کردم که حجم هر شیت موجود در یک ورک بوک رو تو یه شیت دیگه نشون میده اما اینکه چقدر دقیق هست رو نمی دونم:

      Sub WorksheetSizes()
      Dim wks As Worksheet
      Dim c As Range
      Dim sFullFile As String
      Dim sReport As String
      Dim sWBName As String

      sReport = "Size Report"
      sWBName = "Erase Me.xls"
      sFullFile = ThisWorkbook.Path & _
      Application.PathSeparator & sWBName

      ' Add new worksheet to record sizes
      On Error Resume Next
      Set wks = Worksheets(sReport)
      If wks Is Nothing Then
      With ThisWorkbook.Worksheets.Add(Before:=Worksheets(1))
      .Name = sReport
      .Range("A1").Value = "Worksheet Name"
      .Range("B1").Value = "Approximate Size"
      End With
      End If
      On Error GoTo 0
      With ThisWorkbook.Worksheets(sReport)
      .Select
      .Range("A1").CurrentRegion.Offset(1, 0).ClearContents
      Set c = .Range("A2")
      End With

      Application.ScreenUpdating = False
      ' Loop through worksheets
      For Each wks In ActiveWorkbook.Worksheets
      If wks.Name <> sReport Then
      wks.Copy
      Application.DisplayAlerts = False
      ActiveWorkbook.SaveAs sFullFile
      ActiveWorkbook.Close SaveChanges:=False
      Application.DisplayAlerts = True
      c.Offset(0, 0).Value = wks.Name
      c.Offset(0, 1).Value = FileLen(sFullFile)
      Set c = c.Offset(1, 0)
      Kill sFullFile
      End If
      Next wks
      Application.ScreenUpdating = True
      End Sub

      ************************************
      No LION's roar ruins my hut, I afraid of TERMITE's silence
      ************************************

      کامنت

      Working...