中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Delphi > COM/ActiveX
利用Delphi5中调用Excel97
作者:lyd 时间:2001-10-31 10:39 出处:互联网 责编:chinaitpower
              摘要:利用Delphi5中调用Excel97
利用Delphi 5中调用Excel 97
---- 在Delphi 5中简单地封装了一组Microsoft Office自动化对象(Automation servers)。它使得我们很容易地把Office中的应用程序(Word, Excel, PowerPoint, Outlook and Access等)当作一个com应用服务器进行控制。在Delphi 5中已经带了Word与PowerPoint的例子,因为Excel的调用与这两个应用服务器的调用略有不同,所以本人根据这两个例子写了个Excel 97的简单例子以供参考。
---- 步聚
1.    创建一个普通Application。
2.    在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。
3.    连接Excel 97,具体方法如下:
打开Excel97。
Try
        ExcelApplication1.Connect;
    Except
    End;
    ExcelApplication1.Visible[0]:=True;
增加一个Workbook。
ExcelWorkbook1.ConnectTo(ExcelApplication1.
    Workbooks.Add(EmptyParam,0));

添加一个Worksheet。
        var
Temp_Worksheet: _WorkSheet;
begin
Try
Temp_Worksheet:=ExcelWorkbook1.
WorkSheets.Add(EmptyParam,
EmptyParam,EmptyParam,EmptyParam,0)
as _WorkSheet;//(注意)
ExcelWorkSheet1.ConnectTo(Temp_WorkSheet);
Except
ShowMessage('Failure');
            End;
        end;
    关闭Excel.
        Try
                ExcelApplication1.Quit;
ExcelWorksheet1.Disconnect;
                ExcelWorkbook1.Disconnect;
                ExcelApplication1.Disconnect;
        Except
        End;
---- 4. 对Excel的一些操作:
选择当前Workbook的某一Worksheet.
procedure TForm1.ComboBox1DropDown
(Sender: TObject);
var
  i: Integer;
begin
    ComboBox1.Clear;
    For i:=1 to ExcelWorkbook1.
Worksheets.Count do
        ComboBox1.Items.Add
((ExcelWorkbook1.Worksheets.Item[i]
as _WorkSheet).Name);
end;

procedure TForm1.ComboBox1Change
(Sender: TObject);
begin
    ExcelWorkSheet1.ConnectTo
(ExcelWorkbook1.Worksheets.Item
[ComboBox1.ItemIndex+1] as _WorkSheet);
    ExcelWorkSheet1.Activate;
end;

选择某一Workbook:
procedure TForm1.ComboBox2DropDown
(Sender: TObject);
var
  i: Integer;
begin
ComboBox2.Clear;
if ExcelApplication1.Workbooks.Count >0 then
For i:=1 to ExcelApplication1.Workbooks.Count do
Combobox2.Items.Add(ExcelApplication1.
    Workbooks.Item[i].Name);
end;

procedure TForm1.ComboBox2Change(Sender: TObject);
begin
ExcelWorkSheet1.Disconnect;
ExcelWorkBook1.ConnectTo(ExcelApplication1.Workbooks.
Item[Combobox2.ItemIndex+1]);
    ExcelWorkBook1.Activate;
    ExcelWorksheet1.ConnectTo(ExcelWorkBook1.
    ActiveSheet as _WorkSheet);
    ExcelWorkSheet1.Activate;
end;

对某一单元格进行赋值及取值。
procedure TForm1.Button5Click(Sender: TObject);
begin
    ExcelWorksheet1.Cells.Item[SpinEdit2.Value,
    SpinEdit1.Value]:=Edit1.Text;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
    Edit1.Text:=ExcelWorksheet1.Cells.Item[
    SpinEdit2.Value,SpinEdit1.Value];
end;

选择某一区域
ExcelWorkSheet1.Range['A1','C1'].Select;

打开一个Excel文件。
    if OpenDialog1.Execute then
        Begin
            Try
ExcelWorkBook1.ConnectTo
(ExcelApplication1.Workbooks.Open
    (OpenDialog1.FileName,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
    EmptyParam,EmptyParam,
EmptyParam,EmptyParam,0));
    ExcelWorkSheet1.ConnectTo
(ExcelWorkBook1.Activesheet
      as _Worksheet);
            Except;
            End;
        End;
---- 说明
---- 本程序在Win98+Delphi 5+Excel 97下运行通过。本例子还可以作适当的扩充,如DDE、执行宏调用、保存文件、打印文件及对Excel的设置等,此设置方法请参阅Microsoft Excel Visual Basic参考中的Microsoft Excel对象。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有