是否有任何方法來重命名或/和刪除包含空格的損壞範圍名稱使用PowerShell的Excel文件「ACVCutoff_4 1」?我被困在這。重命名或刪除名稱失敗。有沒有機會在Excel(2007/2010)中刪除編程式損壞的範圍名稱(含空格)
$Excel = New-Object -Com Excel.Application
$wbTo = $Excel.workbooks.open($path)
foreach($name in $wbTo.Names)
{
$name.Name = $tt -replace '\s+', '_' # name is not affected
$name.delete() # returns an error Exception calling "Delete" with "0" argument(s): "Exception from HRESULT: 0x800A03EC"
}
我曾嘗試:
- 包括姓名管理器加載並不能解決問題。
- 「檢查R1C1參考樣式」(檢查鏈接) - 如何通過編寫代碼來實現?
其他建議?我將不勝感激您的幫助
我正在使用powershell v2和Excel 2007/2010。
這是用碎名的文件:XlsWithBrokenNames
解決方案由克里斯·尼爾森對於那些誰也停留在此:
#$wbTo - is workbook with corrupt names
$tempFilePath = $path + "temp.xlsm"
$goodFilePath = $path + "cleanFile.xls"
$wbTo.SaveAs($tempFilePath,52) #save as xlsm
$wbTemp = $Excel.workbooks.open($tempFilePath) # open target
# delete names here
$wbTemp.SaveAs($goodFilePath,56) #save as xls
你能描述如何創建一些損壞的命名區域?或者上傳一個帶有一些損壞的命名區域的示例ssheet? – 2012-01-02 23:53:48
根據我的經驗,如果名稱被破壞甚至沒有名稱管理器加載項可以刪除它,但沒有什麼可以,並且您需要重新生成工作簿。順便說一句:如果您重建工作簿,請按小步驟完成並經常保存;沒有什麼比無意中帶來腐敗並不得不從頭開始更糟。 – 2012-01-03 03:21:11
@RachelHettinger不僅經常保存,而且經常保存在不同的文件名下。 – pintxo 2012-01-03 13:41:24