c#:以编程方式在工作表范围内创build一个“命名范围”

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

使用“ Range.Name ”属性设置名称将创build工作簿范围的命名范围。 我试着用'<Sheet Name>!'作为范围名称的前缀。 如这里所build议的那样,但是它不起作用。 这个名字没有被设置。

任何想法如何可以在C#中完成?

更新(2013年5月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。

假设:
Sheet1具有单元格A1:A4,您要创build一个命名范围

VBA:

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

我想这将是相同的C#(除了在最后),并传递可选参数的空参数。