0

VSTO(クライアントの要求によりVisual Studio 2008で)を使用して、単一のセルに名前付き範囲を作成します。これは、ブックに保存され、アプリケーションの再起動時に読み取られます。

1つ以上の名前付き範囲を含む行をExcelで削除し、ブックを保存してExcelを再起動すると、その行の名前付き範囲が引き続き返されるため、問題が発生します。

セルに名前を付けるために、私は単純なApplication.Selection.Name="whatever"を実行します。そして、それらをスターアップ時に戻すために、私はApplication.ActiveWorkbook.Namesを使用しています。

誰かがこれが正しい動作であるかどうかを教えてください。正しい場合は、C#Excel相互運用コードを介して現在表示されている範囲のみに範囲をフィルタリングする方法があります。

前もって感謝します。

4

1 に答える 1

2

はい、これは正しい動作であり、VSTO とは関係ありません。

名前があった範囲を削除しても、名前は削除されません。代わりに、無効な参照に置き換えられます。

Sheet1!#REF!  

RefersToRangeこのような名前を検出する最も簡単な方法は、プロパティの読み取り時に例外をキャプチャすることです。

于 2012-05-25T16:56:19.203 に答える