繁体   English   中英

Excel C#:如何从Range对象获取工作表/工作簿名称和地址?

[英]Excel C#: How to get the Worksheet/Workbook name and address from Range object?

我注册了一个Excel.Application.SheetChange事件,并将更改的范围对象传递给该事件。

我试图通过尽可能少的互操作调用从中提取工作表名称,工作簿名称和地址。

有人有什么好主意吗? 例如,我如何获取范围的完整地址 ,然后进行一些字符串解析以将其取出?

这是代码片段:

    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;

如果您确实想沿解析路线走,那么可以通过在Address索引器中指定External = true来获得范围的标准Address

var address = range.Address[true, true, XlReferenceStyle.xlA1, true, null];
// returns e.g. [Book1]Sheet1!A1

有关详细信息,请参见地址文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM