2017-01-16 54 views
0

我想通過VSTO插件使用c#打開excel工作簿中的所有鏈接,並將公式轉換爲硬編碼數據。打破Excel工作簿中的所有鏈接

編輯更新: 代碼迭代通過每個鏈接罰款,但鏈接沒有壞,breaklink行執行但沒有任何反應?

Array links = (Array)((object)invoiceBook.LinkSources()); 
if (links != null) 
{ 

    foreach (string link in (Array)links) 
    { 
     invoiceBook.BreakLink(link, Excel.XlLinkType.xlLinkTypeExcelLinks); 
    } 
} 
+0

您是否嘗試過'Array links =(Array)invoiceBook.LinkSources(Excel.XlLinkType.xlLinkTypeExcelLinks)'? – GSerg

+0

可能重複[這是什麼'Object [*]'類型與COM互操作?](http://stackoverflow.com/q/4539231/11683) – GSerg

+0

@GSerg - 第1條評論是,沒有影響唯一的鏈接在我的工作簿中作爲xllinks。第二個評論(thx) - 這幫助我獲得了迭代的工作 - 參見上面的更新 – lorgan

回答

0

似乎wb.Breaklink函數不適用於某些公式 - 在我的情況下SUMIFs。我能夠通過添加一個值爲1的命名範圍,然後添加到我的sumif公式* namedrange的末尾來獲得breaklink功能。然後Excel識別外部鏈接並將其有效刪除

相關問題