1
我編寫了Powershell腳本以將工作簿從工作簿A複製到另一個工作簿B.工作表包含該工作表中的範圍的定義名稱。起初,定義的名稱在工作簿A中是全局的,即。可以從工作簿A中的任何工作表引用。將工作表中的Excel定義的名稱設爲全局
但是現在,在複製到工作表B後,定義的名稱僅限於該工作表。如何以編程方式(最好通過Powershell腳本)使所有名稱範圍爲全局的,即可從工作簿B內的所有工作表中引用。
一些代碼爲清晰起見。
#Script to update SOP from 5.1 to 5.2
$missing = [System.Type]::missing
#Open files
$excel = New-Object -Com Excel.Application
$excel.Visible = $False
$excel.DisplayAlerts = $False
$newTemplate = "C:\WorkbookA.xls"
$wbTemplate = $excel.Workbooks.Open($newTemplate)
$oldSop = "C:\WorkbookB.xls"
$wbOldSop = $excel.Workbooks.Open($oldSop)
#Delete 'DATA' worksheet from old file
$wsOldData = $wbOldSop.Worksheets.Item("DATA")
$wsOldData.Delete()
#Copy new 'DATA' worksheet to old file
$wbTemplate.Worksheets.Item("DATA").Copy($missing,$wbOldSop.Worksheets.Item("STATUS"))
#Save
$wbOldSop.Save()
$wbOldSop.Close()
#Quit Excel
$excel.Quit()