自己对DELPHI学习的一点体会

源代码在线查看: 利用delphi 5中调用excel 97 (2000年11月27日).txt

软件大小: 771 K
上传用户: pipinooad
关键词: DELPHI
下载地址: 免注册下载 普通下载 VIP

相关代码

				利用Delphi 5中调用Excel 97 (2000年11月27日) 
				
				本站更新  分类:   作者:广东北电 董柏林   推荐:   阅读次数:775  
				(http://www.codesky.net)  
				
				--------------------------------------------------------------------------------
				---- 在Delphi 5中简单地封装了一组Microsoft Office自动化对象(Automation servers)。它使得我们
				很容易地把Office中的应用程序(Word, Excel, PowerPoint, Outlook and Access等)当作一个com应用
				服务器进行控制。
				
				在Delphi 5中已经带了Word与PowerPoint的例子,因为Excel的调用与这两个应用服务器的调用略有不同,
				所以本人根据这两个例子写了个Excel 97的简单例子以供参考。 
				
				
				---- 步聚 
				
				创建一个普通Application。 
				
				在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。 
				
				连接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对象。 
				 
				 
							

相关资源