C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Excel - заметки на полях  (Прочитано 14161 раз)
AVC
Администратор


Сказали спасибо: +28/-6
Offline

Сообщений: 1189


Excel - заметки на полях
« : 23 Апрель 2008, 11:05:21 »

Код:
//--------------------------------------------------------------------
// размер окна и видимость
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 при помощи (см. пред. пункт).
« Последнее редактирование: 23 Апрель 2008, 11:22:48 от AVC » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.088 секунд. Запросов: 19.