如何使用SpreadsheetGear以编程方式设置已定义名称的范围?

时间:2012-12-06 18:00:08

标签: c# excel spreadsheetgear

在SpreadsheetGear中使用已定义名称的支持不如Excel的其他组件那么好。

可以这样做吗?如果是这样,怎么样?

当我从另一个工作簿中复制工作表时,范围仅限于该工作表,我希望能够将其应用于整个工作簿。

1 个答案:

答案 0 :(得分:2)

这是您使用工作簿范围定义名称的方法

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),因此它永远不会保留其引用。

我希望这会有所帮助。