Powershell重命名多个工作簿上的excel工作表

时间:2019-03-05 16:01:22

标签: excel powershell

我正在尝试重命名同一目录中多个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()
}

0 个答案:

没有答案