Foxter.ru

Foxter.ru (https://www.foxter.ru/index.php)
-   Программирование (https://www.foxter.ru/forumdisplay.php?f=60)
-   -   Delphi and MS (https://www.foxter.ru/showthread.php?t=3125)

Antony 22.10.2006 14:05

Delphi and MS
 
Проблемка: нужно связать прогу на делфи с Excel'ем Access'ом. Особенно с Access. Т.е. если есть какойнить mdb-файл, то что б программа могла выдергивать из него необходимые данные.

Может у кого есть нормальные линки или какиенить доступные, понятные примеры?

win-kim 23.10.2006 07:33

код
Цитата:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleServer, ExcelXP;

type
TForm1 = class(TForm)
Button1: TButton;
ExApp: TExcelApplication;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
WorkBk : _WorkBook;
WorkSheet : _WorkSheet;


implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
A:OleVariant;//array[1..2, 1..2] of variant;
B:OleVariant;
k:Integer;
i:integer;
// B:OleVariant;
begin
ExApp.Connect;
// ExApp.DisplayAlerts[0]:=True;

//Инициализируем Excel
//не показывать сообщение о сохранении
// ExApp.DisplayAlerts[0]:=false;
//открываем Excel-файл
ExApp.Workbooks.Open('D:\Temp\book.xls',
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyP aram,EmptyParam,EmptyParam,EmptyParam,EmptyParam,E mptyParam, 0);

k:=20;
WorkBk:=ExApp.Workbooks.Item[1];
WorkSheet:=WorkBk.Worksheets.Get_Item(1) as _WorkSheet;
A:=VarArrayCreate( [0,k], varVariant );

for i:=0 to k do
A[i]:='A' + IntToStr(i);

// WorkBk.Activate(1);
// WorkSheet.Range['A1', 'A1'].Select;
WorkSheet.Range['A1', 'EE1'].Value2:=A;
// WorkSheet.Range. :='A1:A1';
//Вставляем в Excel ячейки с позиции указанной пользователем +
//WorkSheet.Cells.Item[1, 'A'] :='Hello!';

ExApp.Save;
ExApp.Quit;
ExApp.Disconnect;


end;

end.

win-kim добавил 23.10.2006 в 07:34
mdb файл можешь читать напрямую без использования COM-объектов

Antony 25.10.2006 10:31

win-kim, спасибо. Пойду пробовать...


Часовой пояс GMT +3, время: 02:42.

Powered by vBulletin
Copyright ©2000-2024, Jelsoft Enterprises Ltd.