Я пытаюсь переименовать единственный активный лист в нескольких книгах Excel в одном каталоге. Так, например, у меня есть 4 таблицы Excel с разными именами и разными именами листов, но мне нужно, чтобы все имена листов в рабочих книгах имели одинаковое имя, которое в данном случае - «Лист1». Я нашел следующий код из аналогичного вопроса, заданного здесь, но он не работает:
Function RenameTab ($ExcelFileName, $OutLoc){
$excelFile = "C:\tmp\" + $excelFileName + ".xlsx"
$xldoc = New-Object -ComObject "Excel.Application"
$xldoc.Visible = $false
$xldoc.DisplayAlerts = $false
$workbook = $xldoc.Workbooks.Open($excelFile)
foreach ($worksheet in $workbook.Worksheets){
$n = $ExcelFileName + "_" + $worksheet.Name
$worksheet = $workbook.worksheets.item(1)
$worksheet.name = "Sheet1"
$workbook.SaveAs($OutLoc + $n + ".xlsx")
$workbook.Close()
}
$xldoc.Quit()
}