//--------------------------------------------------------------------
// размер окна и видимость
MSExcel.OlePropertySet("WindowState", long(xlMaximized));
MSExcel.OlePropertySet("Visible", true);
//--------------------------------------------------------------------
// Текущая активная клетка и размер текущего листа
XLSheet.OleProcedure("Activate");
int row_cur = MSExcel.OlePropertyGet("ActiveCell").OlePropertyGet("Row");
int col_cur = MSExcel.OlePropertyGet("ActiveCell").OlePropertyGet("Column");
XLSheet.OlePropertyGet("Cells").OlePropertyGet("SpecialCells",xlCellTypeLastCell).OleProcedure("Activate");
int row_last = MSExcel.OlePropertyGet("ActiveCell").OlePropertyGet("Row");
int col_last = MSExcel.OlePropertyGet("ActiveCell").OlePropertyGet("Column");
// в зависимости от ситуации, может показывать завышенное значение.
XLSheet.OlePropertyGet("Cells", row_cur, col_cur).OleProcedure("Activate");
//--------------------------------------------------------------------
// Сохранение листа в файл с различными форматами
XLSheet - нужный лист книги
XLSheet.OleProcedure
("SaveAs"
,tfile // Filename (AnsiString)
,xlTextWindows // FileFormat
,Null // Password
,Null // WriteResPassword
,false // ReadOnlyRecommended
,false // CreateBackup
,false // AddToMru
,Null // TextCodePage
,Null // TextVisualLayout
);
//--------------------------------------------------------------------
// определения из excel??.h
#define xlMaximized 0xFFFFEFD7
#define xlCellTypeLastCell 11
/*
typedef enum XlFileFormat
{
xlAddIn = 18,
xlCSV = 6,
xlCSVMac = 22,
xlCSVMSDOS = 24,
xlCSVWindows = 23,
xlDBF2 = 7,
xlDBF3 = 8,
xlDBF4 = 11,
xlDIF = 9,
xlExcel2 = 16,
xlExcel2FarEast = 27,
xlExcel3 = 29,
xlExcel4 = 33,
xlExcel5 = 39,
xlExcel7 = 39,
xlExcel9795 = 43,
xlExcel4Workbook = 35,
xlIntlAddIn = 26,
xlIntlMacro = 25,
xlWorkbookNormal = 0xFFFFEFD1,
xlSYLK = 2,
xlTemplate = 17,
xlCurrentPlatformText = 0xFFFFEFC2,
xlTextMac = 19,
xlTextMSDOS = 21,
xlTextPrinter = 36,
xlTextWindows = 20,
xlWJ2WD1 = 14,
xlWK1 = 5,
xlWK1ALL = 31,
xlWK1FMT = 30,
xlWK3 = 15,
xlWK4 = 38,
xlWK3FM3 = 32,
xlWKS = 4,
xlWorks2FarEast = 28,
xlWQ1 = 34,
xlWJ3 = 40,
xlWJ3FJ3 = 41,
xlUnicodeText = 42,
xlHtml = 44
} XlFileFormat;
*/
#define xlTextWindows 20
// если нет extern PACKAGE Variant Null
#define Null (Variant().AsType(varNull))
Самый полный справочник по функциям MSOffice - Help из его комплекта поставки
Самый простой способ узнать "как это делается в Excel" - записать макрос и перевести его на C при помощи (см. пред. пункт).