2

SpreadsheetGear で定義された名前を操作するためのサポートは、Excel の他のコンポーネントほど良くありません。

これはできますか?もしそうなら、どのように?

別のワークブックからシートにコピーすると、範囲がそのワークシートに限定され、ワー​​クブック全体に適用できるようにしたいと考えています。

4

1 に答える 1

3

これは、ワークブック スコープで名前を定義する方法です

SpreadsheetGear.IWorkbook workbook = workbookView.ActiveWorkbook;
SpreadsheetGear.INames definedNames = workbook.Names;
definedNames.Add(name, refTo, SpreadsheetGear.ReferenceStyle.A1);
definedNames[name].Comment = "SomeComment";
definedNames[name].Visible = true;

「別のワークブックからシートにコピーすると、スコープはそのワークシートに限定されます」

あなたが正しいと私が理解しているなら、あなたはあなたが望むことをすることができず、論理的に不可能です. 定義された名前には、常に「ワークブック スコープ」が必要workbook.Namesです。つまり、定義された名前の情報を保持します。この事実に基づいて、ワークブック A からワークブック B にシートをコピーすると、シートはそのワークブック ( workbookA.Names) の定義された名前について何も保持しないため、それらの参照を保持することはできません。

これが役立つことを願っています。

于 2012-12-06T18:05:50.347 に答える