2017-01-16 10 views
0

Excelワークブック内のすべてのリンクを、VSTOアドイン経由でc#を使用して中断し、その式をハードコードされたデータに変換したいとします。Excelワークブック内のすべてのリンクを解除する

EDIT更新: コードは各リンクを細かく反復しますが、リンクは壊れていません。ブレークリンクは実行されますが、何も起こりません。

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

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

'Array links =(配列)invoiceBook.LinkSources(Excel.XlLinkType.xlLinkTypeExcelLinks)'を試しましたか? – GSerg

+0

COM Interopで取得できる[オブジェクト[*]型は何ですか?](http://stackoverflow.com/q/4539231/11683) – GSerg

+0

@GSerg - 最初のコメントはい、唯一の影響はありませんxllinksとして私のワークブックに。 2番目のコメント(thx) - これは私に反復を有効にするのに役立ちました - 上記のアップデートを見てください – lorgan

答えて

0

wb.Breaklink機能は、特定の式では動作しないようです - 私の場合のSUMIFSに。私は値1の名前付き範囲を追加し、次にsumifの式* namedrangeの最後に追加することで、breaklink関数を呼び出すことができました。 Excelは外部リンクを認識して効果的に削除しました

関連する問題