任何机会在Excel(2007/2010)中删除编程方式损坏的范围名称(包含空格)
有没有办法重新命名或/和删除损坏的范围名称,其中包括空格,例如“ACVCutoff_4 1”在Excel文件中的PowerShell的帮助? 我被困在这。 重命名或删除名称失败。
$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" }
我曾经尝试过:
相关的问题
- 包括名称pipe理器加载项不能解决问题。
- “检查R1C1参考样式”(检查链接) – 如何通过编写代码来实现?
还有其他build议吗? 我将不胜感激您的帮助
我正在使用powershell v2和Excel 2007/2010。
这是一个名字为XlsWithBrokenNames的文件
克里斯·内尔森(Chris Neilsen)解决这个问题的人也是如此:
#$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
所有对我尝试过的腐败名称的直接操纵都失败了!
但是,这里有一个可能的select:
SaveAs
工作簿作为.xlsm
您应该得到一个抱怨无效名称的对话框,其中包含重命名选项和Ok to All
button。 一旦保存,closures并重新打开文件, Save As
.xls
,你应该很好去