我正在尝试重命名同一目录中多个Excel工作簿中唯一的活动工作表。因此,例如,我有4个excel电子表格,它们都具有不同的名称和不同的工作表名称,但是我需要工作簿中的所有工作表名称都具有相同的名称,在本例中为“ Sheet1”。我从此处询问的类似问题中找到了以下代码,但它不起作用:
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()
}