Excel ЧаВо


Как получить ссылку на активный лист в активной книге?


Обращаеясь к Excel.Application.ActiveSheet или WorkBook.ActiveSheet, вы получите ссылку на интерфейс IDispatch. Это происходит из-за того, что коллекция Excel.Application.Sheets может содержать объекты WorkSheet, Chart, Excel4MacroSheet (для поддержки Excel 4).

Delphi:

// получить ссылку на активный лист, ASheet: TExcelWorksheet

ASheet.ConnectTo(XL.ActiveSheet as _Worksheet);

// получить ссылку на второй лист активной книги

ASheet.ConnectTo(XL.ActiveWorkbook.Sheet[2] as _Worksheet);

C#:

Excel.Worksheet oSheet = (Excel.Worksheet) XL.ActiveSheet; // Excel.Worksheet oSheet = (Excel.Worksheet) XL.Sheets[1];

Определить тип листа можно, проверив свойство Worksheet.Type:

Delphi:

if ASheet.type_[lcid] = xlWorksheet then { это Worksheet };

C#:

if (oSheet.Type == Excel.XlSheetType.xlWorksheet) /* это Worksheet */ ;

ActiveWorkbook Property

ActiveSheet Property

Type Property



Содержание раздела