我需要使用 PS 腳本知道 Excel 中非空單元格的數量。
$excel = new-object -comobject excel.application
$excel.visible = $false
$Workbook = $excel.workbooks.open($FileDir)
$Worksheets = $Workbooks.worksheets
$Worksheet = $Workbook.Worksheets.Item(1)
$Range1 = $Excel.Range("8:8")
$Range1.Count
$Workbook.Save()
$excel.Quit()
這段代碼讓我得到 16384,這是 Excel 中的總列數。
Excel 函式COUNTA()在 excel 中作業并得到 109,這是正確的結果。
我可能需要這個https://docs.microsoft.com/en-gb/office/vba/api/excel.worksheetfunction.counta但我的實作不起作用。$Range1.WorksheetFunction.CountA("")
uj5u.com熱心網友回復:
WorksheetFunction是的屬性Excel.Application類,沒有了Excel.Range類,所以您的代碼需要看起來是這樣的:
$excel = new-object -comobject Excel.Application;
# set up some dummy data
# note - we'll leave A4 blank
$workbook = $excel.Workbooks.Add();
$worksheet = $workbook.Worksheets.Item(1);
$worksheet.Range("A1").Value = "a"
$worksheet.Range("A2").Value = "b"
$worksheet.Range("A3").Value = "c"
#$worksheet.Range("A4").Value = "d"
$worksheet.Range("A5").Value = "e"
$range = $worksheet.Range("A1:A5");
$count = $excel.WorksheetFunction.CountA($range);
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
write-host $count
# 4
不是嘗試WorksheetFunction在范圍上呼叫,而是從應用程式呼叫它并將范圍作為引數傳遞。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/336057.html
