使用PowerShell重命名多个Excel工作表

我正在尝试使用powershell保留工作簿中的工作表,但脚本我只重命名相同的工作表。

$xl = New-Object -comobject Excel.Application $xl.visible = $true $xl.DisplayAlerts = $false $xl.sheetsInNewWorkbook = $batches $xl.workbooks.add() for($i=1;$i -lt $batches;$i++){ $ws1 = $ws.sheets.item($i) $ws1.activate() $ws1.name = "Batch$i" } 

批次= 12

我究竟做错了什么?

蒂亚

安迪

您没有添加定义variables内容的代码:$ ws

我在variables$ workbook中检索了创build的工作簿,并用$ workbook.Sheets.Item($ i)replace了$ ws,它似乎工作正常(您的代码循环只有11次)。 如果它不回答你的问题,请添加更多的细节。

  $batches = 12; $xl = New-Object -comobject Excel.Application $xl.visible = $true $xl.DisplayAlerts = $false $xl.sheetsInNewWorkbook = $batches $workbook = $xl.Workbooks.add() for($i=1;$i -lt $batches;$i++){ $ws1 = $workbook.Sheets.Item($i) $ws1.activate() $ws1.name = "Batch$i" }