6

我们如何创建一个将其范围设置为工作表的“命名范围” ?(因为我们可以从 Excel 手动执行此操作,我想在代码中有一种方法)

使用 ' Range.Name' 属性设置名称会创建一个工作簿范围的命名范围。我尝试在范围名称前加上“<Sheet Name>!” 正如这里所建议的那样,但它不起作用。这个名字根本就不是这样设置的。

关于如何在 C# 中完成此操作的任何想法?

更新(2013/05/16): shahkalpesh 的回答有效。我使用的原始代码(在 VS 2010 中)是:

using Excel = Microsoft.Office.Interop.Excel;

Excel.Worksheet ws = Globals.ThisAddIn.Application.ActiveSheet;
Excel.Range range = ws.Range[ws.Cells[x,y], ws.Cells[(x + height), (y + width)]];
range.Name = "MyName"; // MyName in workbook scope

修改后的代码是:

ws.Names.Add("MyName", range); // MyName in worksheet scope

谢谢,idssl。

4

1 回答 1

13

假设:
Sheet1 具有单元格 A1:A4,您要为其创建命名范围

VBA:

Sheet1.Names.Add("tada", Sheet1.Range("A1:A4"))

我想它在 c# 中是相同的(除了;最后的)并为可选参数传递空参数。

于 2013-05-15T15:02:58.337 回答