首页 > 解决方案 > 使用 Powershell 运行时,宏重命名表将不起作用

问题描述

我有格式化列并将工作表(1)重命名为销售的宏 - 工作表每个月都有不同的名称,例如销售(一月)、销售(二月)等。

Columns("P").NumberFormat = "0.00"
Columns("Q").NumberFormat = "0.00"
Columns("R").NumberFormat = "0.00"
Columns("T").NumberFormat = "ddmmyyyy"
Columns("U").NumberFormat = "0.0"
Sheets(1).Select
Sheets(1).Name = "Sales"

我可以手动运行宏并且它工作正常,但是当我尝试使用 Powershell 时

$File = Get-ChildItem 'C:\Users\username\Clean\Sales*.xlsx'

$XLSB = 'C:\Users\username\Clean\PERSONAL.XLSB'


function Sales 
{
        $excel = New-Object -comobject Excel.Application
        $wbPersonalXLSB = $excel.workbooks.open($XLSB)
        $workbook = $excel.Workbooks.Open($File)
        $excel.Visible = $false
        $worksheet = $workbook.worksheets.item(1)
        $app = $excel.Application
        $app.Run("PERSONAL.xlsb!MACRO")
        $wbPersonalXLSB.Close()
        $workbook.save()
        $workbook.close()
        $excel.Quit()

格式已更改,但工作表名称未更改。如果我删除重命名表,powershell 工作正常

Sheets(1).Select
Sheets(1).Name = "Sales"

有什么我想念的吗?

标签: excelvbapowershell

解决方案


推荐阅读