我们如何创建一个范围设置为工作表的“命名范围”? (因为我们可以从 Excel 手动执行此操作,所以我想在代码中有一种方法)
使用“Range.Name
”属性设置名称会创建工作簿范围内的命名范围。我尝试在范围名称前加上“
知道如何在 C# 中完成此操作吗?
更新 (2013/05/16): Answer由 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,您要为其创建命名区域
VBA:
Sheet1.Names.Add("tada", Sheet1.Range("A1:A4"))
我想它在 c# 中是相同的(除了末尾的 ;
)并为可选参数传递空参数。
关于c#:以编程方式在工作表范围内创建 "named range",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16568476/