Форум: "Базы";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
ВнизПомогите начать работать с книгами exel Найти похожие ветки
← →
Reaktor (2006-07-31 14:33) [0]Нужны самые простые вещи - добавить строку в лист, изменить ячейку, прочитать все ячейки в определенном столбце, сделать выборку по фильтру и т.п.
Даже не знаю куда соваться и где искать хоть какой-нибудь хелп по этой теме.
← →
stud © (2006-07-31 14:35) [1]посмотри в ole.
набери нужный макрос в экселе, подреактируй если нужно синтаксис
← →
Reaktor (2006-07-31 14:54) [2]Я хотел это научиться делать из дельфийской проги, а не из вижуал бейсика.
А что такое OLE?
← →
stud © (2006-07-31 15:02) [3]ты хочеш напрямую работать с офисом или с помщью компанент?
через оле собственно и происходит работа с приложениями офиса ( и другими в принципе тоже)
← →
Reaktor (2006-07-31 15:12) [4]С помощью компанент.
← →
stud © (2006-07-31 15:53) [5]если с помощью компанент - ищи в справке.
но на самом деле не рекомендую их использовать, по той причине что они оринетированы на конкретную версию. поэтому лучше использовать техологию оле. проблемы все равно могут возникнуть но судя по отыту реже.
элементарно можеш использовать материалы из дельфиворлд, там все эти вещи расписаны достаточно подробно, но учитывай версии офиса.
← →
VadimSpb (2006-07-31 17:12) [6]Посмотри http://delphiworld.narod.ru/dw.html
Есть хорошая книга
Н.Елманова, С.Трепалин, А.Тенцер
"Delphi и технология COM" 2003г. Изд-во ПИТЕР
← →
Anatoly Podgoretsky © (2006-07-31 19:49) [7]Reaktor (31.07.06 15:12) [4]
Бросаешь TExcelApplication на форму и работаешь, все методы и свойства описаны у Микрософт. В Дельфи информации нет, поскольку это к Дельфи не относится. Это COM, для OLE точно также, только создаешь ручками и информация опять у Микрософта.
← →
VadMS (2006-09-26 23:08) [8]Обращение к Excel из DELPHI
В данном обзоре рассмотрены основные конструкции, позволяющие получить доступ к книге Excel из DELPHI.
Организация доступа к книге EXCEL
Для взаимодействия с MS excel в программе необходимо использовать модуль ComObj
uses ComObj;
и объявить переменную для доступа к MS excel следующего типа:
var Excel: Variant;
Инициализация переменной Excel в простейшем случае можно осуществить так:
Excel := CreateOleObject("Excel.Application");
Создание новой книги:
Excel.Workbooks.Add;
Открытие существующей книги (где path - путь к фалу с расширением xls.):
Excel.Workbooks.Open[path];
Открытие существующей книги только для чтения:
Excel.Workbooks.Open[path, 0, True];
Закрытие Excel:
Excel.ActiveWorkbook.Close;
Excel.Application.Quit;
Блокировка запросов (подтвеждений, уведомлений) Excel, например, запретить запрос на сохранение файла:
Excel.DisplayAlerts:=False;
Отображаем Excel на экране:
Excel.Visible := True;
или скрываем:
Excel.Visible := False;
Печать содержимого активного листа excel:
Excel.ActiveSheet.PrintOut;
Чтение/запись данных в EXCEL
Доступ к ячейке в текущей книге Excel можно осуществить следующим образом:
Excel.Range["B2"]:="Привет!"; // - для записи значения в ячейку или
s:=Excel.Range["B2"]; // - для чтения,
где B2 - адрес ячейки.
Или используя стиль ссылок R1C1:
Excel.Range[excel.Cells[2, 2]]:="Привет!";
, где [2, 2] - координата ячейки.
Вообще, ячейке Excel можно присваивать любое значение (символьное, целое, дробное, дата) при этом Excel установит форматирование в ячейке применяемое по умолчанию.
Формат ячеек в EXCEL
Выделить (выбрать) группу ячеек для последующей работы можно так:
Excel.Range[Excel.Cells[1, 1], Excel.Cells[5, 3]].Select;
или
Excel.Range["A1:C5"].Select;
при этом будет выделена область находящаяся между ячейкой A1 и C5.
После выполнения выделения можно установить:
1) объединение ячеек
Excel.Selection.MergeCells:=True;
2) перенос по словам
Excel.Selection.WrapText:=True;
3) горизонтальное выравнивание
Excel.Selection.HorizontalAlignment:=3;
при присваивании значения 1 используется выравнивание по умолчанию, при 2 - выравнивание слева, 3 - по центру, 4 - справа.
4) вериткальное выравнивание
Excel.Selection.VerticalAlignment:=1;
присваиваемые значения аналогичны горизонтальному выравниванию.
5) граница для ячеек
Excel.Selection.Borders.LineStyle:=1;
При значении 1 границы ячеек рисуются тонкими сплошными линиями.
Кроме этого можно указать значения для свойства Borders, например, равное 3. Тогда установится только верхняя граница для блока выделения:
Excel.Selection.Borders[3].LineStyle:=1;
Значение свойства Borders задает различную комбинацию граней ячеек.
В обоих случаях можно использовать значения в диапазоне от 1 до 10.
Использование паролей в EXCEL
Установка пароля для активной книги может быть произведена следующим образом:
try
// попытка установить пароль
Excel.ActiveWorkbook.protect("pass");
except
// действия при неудачной попытке установить пароль
end;
где pass - устанавливаемый пароль на книгу.
Снятие пароля с книги аналогично, использовуем командуExcel.ActiveWorkbook.Unprotect("pass");
где pass - пароль, установленный для защиты книги.
Установка и снятие пароля для активного листа книги Excel производится командамиExcel.ActiveSheet.protect("pass"); // установка пароля
Excel.ActiveSheet.Unprotect("pass"); // снятие пароля
где pass - пароль, установленный для защиты книги.
Вспомогательные операции в EXCEL
Удаление строк со сдвигом вверх:
Excel.Rows["5:15"].Select;
Excel.Selection.Delete;
при выполнении данных действий будут удалены строки с 5 по 15.
Установка закрепления области на активном листе Excel
// снимаем закрепление области, если оно было задано
Excel.ActiveWindow.FreezePanes:=False;
// выделяем нужную ячейку, в данном случае D3
Excel.Range["D3"].Select;
// устанавливаем закрепление области
Excel.ActiveWindow.FreezePanes:=True;
Запись макросаexcelapplication1.modules.add(emptyparam,emptyparam,1);
with excelworkbook1.vbproject.vbcomponents.item("module1").codemodule do
begin
addfromstring("sub macro1()"+#13+
"dim ch as chartobject");
end;
Выполнить:excelapplication1.run("macro1");
Удачной работы!
За доп. вопросами обращайтесь на miskyi@ukr.net
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.037 c