Excel C#:如何从Range对象获取工作表/工作簿名称和地址?
我有一个Excel.Application.SheetChange
事件,我注册向其传递范围对象更改。
我试图从尽可能less的互操作调用中提取工作表名称,工作簿名称和地址。
有没有人有任何好点子? 例如像我怎样才能得到的范围的完整地址 ,然后做一些stringparsing来得到它?
这里是代码snippit:
private void ws_change(Excel.Range target){ //Code to get target workbook name, worksheet name, and range address }
非常感谢。
你应该看看各种属性:
var sheet = range.Worksheet; var sheetName = sheet.Name; var workbook = (Workbook)sheet.Parent; var workbookName = workbook.Name;
如果您确实想要沿着parsing路线走,您可以通过在Address
索引器中指定External = true
来获取范围的完全限定地址:
var address = range.Address[true, true, XlReferenceStyle.xlA1, true, null]; // returns eg [Book1]Sheet1!A1
有关详细信息,请参阅Address的文档 。