我们如何创建一个“范围”,其范围设置为工作表? (因为我们可以从Excel手动执行此操作,我想在代码中有一种方法)
使用“Range.Name
”属性设置名称会创建一个工作簿范围的命名范围。我尝试使用'< Sheet Name>!'为范围名称添加前缀按照建议here,但它不起作用。该名称并未完全设置。
有关如何在C#中完成此操作的想法吗?
更新(2013/05/16): shahkalpesh的Answer工作了。我使用的原始代码(在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。
答案 0 :(得分:8)
假设:
Sheet1具有单元格A1:A4,您要为其创建命名范围
VBA:
Sheet1.Names.Add("tada", Sheet1.Range("A1:A4")
我认为它在c#中是相同的(除了最后的;
)并为可选参数传递空参数。