Адрес этой странички : http://spcalc.narod.ru/spcalc_func_excel.htm
spCalc
.exe
Простой программируемый калькулятор.  

Интерпретатор скриптов.


ВНИМАНИЕ !
Прежде, чем читать этот документ, крайне рекомендуется детально ознакомиться с документом :
"Библиотека скриптов FastScript 1.4. Руководство разработчика" ( http://spcalc.narod.ru/download/fs14_ru_rtf.zip ). 


Список процедур и функций

 

Excel

Запустить Excel (как OLE Automation server) и получить ссылку
 
function ConnectToExcel(YesVisible,YesAddWorkBooks : integer) : Variant;
      YesVisible
– если >0 - визуализировать Excel после запуска
      YesAddWorkBooks – если >0 – создать рабочую книгу (листы) Excel
  Возвращаемое значение – ссылка на
Excel (как OLE Automation server) 

 

Запустить Excel (как OLE Automation server) , открыть файл и получить ссылку
 
function Excel_OpenFile(fn : string) : Variant;
    fn
– полное имя Excel-файла
  Возвращаемое значение – ссылка на
Excel (как OLE Automation server)   

 

Открыть диалог на выбор Excel-файла и настройку на считывание данных из него
 
function Excel_SelectFile(ListParam,
                            ListFields : TStrings) : boolean;
 

ListFields – список имен полей для импорта (одна строка – одно поле)
ListParam  – список настроечных параметров (для значений начальной инициализации и указанных Пользователем настроек).
Возвращаемое функцией значение –
TRUE, если Пользователь нажал на кнопку OK и настройки корректны.
Имена параметров в ListParam :

 

Имя параметра

Назначение

 

Excel_FileName

полное имя Excel-файла

 

Excel_NumList

номер листа Excel-файла

 

Excel_Row_0

номер строки, где заголовок с именами полей таблицы Б.Д.

 

Excel_Row_1

номер строки начала данных

 

Excel_Row_2

номер строки конца данных

 

Excel_Col_1

номер столбца начала данных

 

Excel_Col_2

номер столбца конца данных

 

DB_TableFieldKey

имя ключевого поля таблицы базы данных

 

DB_YesInsert

если TRUE, то разрешить вставку новых строк в таблицу базы данных

 

DB_YesUpdate

если TRUE, то разрешить обновление существующих строк в таблице базы данных

Формат строки в ListFields :
    FieldName=FieldType Size Precis NumCol

где
 
FieldName – имя поля
 
FieldType –
тип поля (String, Number, Date)
 
Size
      - размер поля (если 0, то не значения не усекаются)
 
Precis    - точность (кол-во знаков после запятой), если тип=Number
 
NumCol    - номер колонки в Excel-файле

 

 

Получить ссылку на лист Excel по его номеру
 
function Excel_GetList(Excel : Variant; NumList : integer) : Variant;
    Excel -
ссылка на Excel (как OLE Automation server)
    NumList
– номер листа
  Возвращаемое значение – ссылка на лист
Excel

 

Получить имя листа Excel по его номеру
 
function Excel_GetNameList(Excel : Variant; NumList : integer) : string;
    Excel -
ссылка на Excel (как OLE Automation server)
    NumList
– номер листа
  Возвращаемое значение – имя листа

 

Прочитать значение ячейки (NRow,NCol) из листа ListExcel
 
function Excel_GetValue_from_Cell(ListExcel : Variant;
                                   
NRow,NCol : integer) : string;
     ListExcel –
ссылка лист Excel (результат функции Excel_GetList)
     NRow
-  номер сроки
     NCol -  номер столбца
  Возвращаемое значение – значение ячейки

 

Записать строковое значение Value в ячейку (NRow,NCol) листа ListExcel.
  function Excel_PutValue_to_Cell(ListExcel : Variant;
                                 
NRow,NCol,
               
                  YesBold,YesBorder : integer; 
                                 
Value : string) : boolean;
    ListExcel –
ссылка лист Excel (результат функции Excel_GetList)
    NRow
-  номер сроки
    NCol -  номер столбца
    YesBold>0 – жирный шрифт в ячейке
    YesBorder>0 – обвести ячейку линиями
  Возвращаемое значение –
TRUE, если успешно

   

Установить цвет ячейки (фон)
 
function Excel_SetBkColor_to_Cell(ListExcel: Variant;
                                   
NRow,NCol: integer;
                                   
BkColor : TColor) : boolean;

 

 

Нарисовать линию по границе  ячейки
 
function Excel_SetBorder1_to_Cell(ListExcel : Variant;
     
                              NRow,NCol : integer;
                                   
Num, //1..4
                                   
LineStyle, //1-
сплошная, 3-пунктир
                                   
Size : integer; //2
и более
                   
                bColor : TColor //
цвет рамки
                                   
) : boolean;

 

Получить тип  линии по границе  ячейки
  
function Excel_GetBorder1_LineStyle_in_Cell(ListExcel : Variant;
                                           
NRow,NCol : integer;
                                           
Num : integer) : integer;

 

 

Вставить картинку в ячейку из файла
  
function Excel_PutPicture_to_Cell(ListExcel : Variant; 
                                    
NRow,NCol : integer; //
ячейка
              
                      fnPict
    : string //имя файла картинки
                                    
) : Variant;

 

Установить ориентацию написания текста в ячейке
  
function Excel_SetOrientation_to_Cell(ListExcel : Variant; 
                                         
NRow,NCol : integer; 
                                        
Orientation : integer) : boolean;

 

Прочитать значения ячеек из строки листа Excel в список (List)
 
function Excel_GetRow_to_Strings(Excel : Variant; 
                        
NumList
, //номер листа
                         
NumRow,  //номер строки
                        
NumCol1, NumCol2 : integer; //интервал столбцов
                        
List : TStrings) : integer;
      Excel -
ссылка на Excel (как OLE Automation server)
      NumList
– номер листа
      NumRow  - номер строки (откуда читаем)
      NumCol1, NumCol2 - интервал столбцов строки NumRow
      List – список (должен быть создан перед вызовом функции)
  Возвращаемое значение – размер списка(
List) после считывания 

 

Прочитать значения области ячеек из листа Excel в массив типа Variant
  function Excel_GetCells_to_Variant(
              
Excel   : Variant;
              
NumList,  //номер листа
              
NumRow1,  //Начало области ячеек: номер строки
              
NumCol1,  //Начало области ячеек: номер столбца
              
NumRow2,  //Конец области ячеек: номер строки
              
NumCol2 : integer //Конец области ячеек: номер столбца
              
) : variant;

  Excel -
ссылка на Excel (как OLE Automation server)
  NumList
– номер листа
  NumRow
1,NumCol1,NumRow2,NumCol2 - интервал ячеек, откуда читаем
  Возвращаемое значение – значение, типа
Variant (массив, созданный функцией VarArrayCreate)

 

  

Записать значения из массива типа Variant в область ячеек листа Excel  
function Excel_PutCells_from_Variant(
              
Excel     : Variant; 
              
NumList,   //
номер листа
              
NumRow1,   //Начало области ячеек: номер строки
              
NumCol1,   //Начало области ячеек: номер столбца
              
NumRow2,   //Конец области ячеек: номер строки
              
NumCol2   : integer //Конец области ячеек: номер столбца
              
ArrayData : Variant //массив данных, который записываем
              
) : boolean; 

Excel - ссылка на Excel (как OLE Automation server)
NumList –
номер листа
NumRow1,NumCol1,NumRow2,NumCol2 -
интервал ячеек, откуда читаем
ArrayData
- массив данных, который записываем в область ячеек. 
Массив должен быть предварительно создан с помощью функции VarArrayCreate и инициализирован исходными данными. Размер области ячеек должен соответствовать размеру массива. Если хотя бы одно из значений переменных
NumRow1,NumCol1,NumRow2,NumCol2 <=0, то размеры области ячеек листа вычисляются автоматически.

Возвращаемое значение –
TRUE, если успешно.

 

Получить координаты поcледней непустой ячейки Excel
 
function Excel_GetCoordLastCellInList(Excel : Variant; 
                                       
NumList : integer;
                                        SetCursorToCell: boolean;
                                        Var NumRow,NumCol : integer) : boolean;
     Excel -
ссылка на Excel (как OLE Automation server)
     NumList
– номер листа
     SetCursorToCell – если TRUE, то найденная ячейка переместится в область визуализации
     NumRow, NumCol – координаты (номер строки и номер столбца) найденной ячейки
  Возвращаемое значение –
TRUE, если успешно

 



© Sergey Popov, Usinsk, Komi, 2007

Hosted by uCoz