這可能不是您正在尋找的答案,因爲它不在PowerShell中,但我發現了一個在Excel中使用VBA的非常簡單的解決方案,並且看到您現在沒有答案,所以值得一試! (1)在Excel中打開工作表並按Alt + F11,右鍵單擊工作簿並單擊插入>模塊。 (2)在下面的VBA腳本粘貼:
Sub WorksheetSizes()
Dim xWs As Worksheet
Dim Rng As Range
Dim xOutWs As Worksheet
Dim xOutFile As String
Dim xOutName As String
xOutName = "SheetSizesinBits"
xOutFile = ThisWorkbook.Path & "\TempWb.xls"
On Error Resume Next
Application.DisplayAlerts = False
Err = 0
Set xOutWs = Application.Worksheets(xOutName)
If Err = 0 Then
xOutWs.Delete
Err = 0
End If
With Application.ActiveWorkbook.Worksheets.Add(Before:=Application.Worksheets(1))
.Name = xOutName
.Range("A1").Resize(1, 2).Value = Array("Worksheet Name", "Size")
End With
Set xOutWs = Application.Worksheets(xOutName)
Application.ScreenUpdating = False
xIndex = 1
For Each xWs In Application.ActiveWorkbook.Worksheets
If xWs.Name <> xOutName Then
xWs.Copy
Application.ActiveWorkbook.SaveAs xOutFile
Application.ActiveWorkbook.Close SaveChanges:=False
Set Rng = xOutWs.Range("A1").Offset(xIndex, 0)
Rng.Resize(1, 2).Value = Array(xWs.Name, VBA.FileLen(xOutFile))
Kill xOutFile
xIndex = xIndex + 1
End If
Next
Application.ScreenUpdating = True
Application.Application.DisplayAlerts = True
End Sub
(3)保存工作簿作爲宏Enabled工作簿。 (4)關閉開發人員屏幕,然後按Alt + F8。 (5)選擇我們剛製作的宏並運行它。 這將創建一個新的工作表,並以位爲單位構建每個工作表的大小表。
祝你好運!
感謝您的回答。有沒有什麼辦法可以在PowerShell中使用它 – user2181349