Адрес этой странички : http://spcalc.narod.ru/spcalc_func_excel.htm
spCalc.exe
Интерпретатор скриптов.
ВНИМАНИЕ !
Прежде, чем читать этот документ, крайне
рекомендуется детально ознакомиться с
документом :
"Библиотека скриптов FastScript 1.4. Руководство разработчика"
( http://spcalc.narod.ru/download/fs14_ru_rtf.zip
).
Запустить
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
– номер листа
NumRow1,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