说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

利用Delphi 5中调用Excel 97

HTML文档下载 WORD文档下载 PDF文档下载
利用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的简单例子以供参考。

---- 步聚

创建一个普通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对象。

辉煌不再 Encanto超级计算机可能被拆分“出售” 知己知彼 企业应用移足云端必须清楚的10大方面 NVIDIA推Android掌机:七年孕育可否成就野心? 人民日报:2013关于新媒体的8个猜想 互联网大时代成就创新小企业 移动互联网创新论坛报道 Mobile Detect:判断移动设备类型的开源PHP类 我是如何Hack Facebook Employees Secure Files Transfer服务的 投资可再生能源:Google 2亿美元投资风力农场 构筑商业生态系统 阿里巴巴集团全面变革组织架构和管理体系 美国众多银行网站遭DDoS攻击 疑似伊朗所为 构建高可扩Web架构和分布式系统实战 CES2013 AMD发布移动处理器路线图和环绕计算概念 对话Linus Torvalds:大多黑客甚至连指针都未理解 PaaS玩家们,怎么演好自己的角色? Apple高管表态:低端机绝不是iPhone的未来 Web开发人员应该知道的IE 10兼容性问题 一周消息树:CES2013揭幕 科技巨头纷纷发力 2012专利排行榜 IBM位列第一、Google增长最快! 微软赞黑客并称Windows RT越狱非安全漏洞所致 周报第46期:GitHub历史上最糟糕宕机事故回放及反省 著名计算机黑客Aaron Swartz自杀身亡 移动周报:移动互联网行业技术趋势前瞻 旁门左道:让移动游戏下载量暴涨的邪门功夫 可植入身体:“可穿戴计算”时代来临 Web服务器份额:Apache仍居首,Nginx将超IIS 防税务欺诈:挪威财政部将开源收银机代码 响应式设计实战:3人+1.5个月 IE10优化版cnBeta诞生记 不听乔布斯劝告:“不专心”的Google照样干得好 躲过一劫!苹果不锁杂志类APP介绍截图 Oracle发布软件更新修复Java漏洞 设计师将吞噬工程师吗? 怎么我在VC++6.0中的窗口属性中设一些属性好像没用一样??? 三台机器不用HUB如何实现互相访问? 请教通讯的问题 用accsee数据库 怎么不显示登陆的用户密码框? c,如何得到一个文件名中指定位置指定长度的字符串?? 服务器是否打开支持FileSystemObject对象的权限 我的数据表列宽为7个字符 , 而我只输入3个字符 , 当我输入4个字符后 , 再次运行程序却看不到所有数据 从新做人 求救:在NT Server下调用GetVolumeInformationA取分区序列号,返回结果为负数!!!怎么回事啊? 正式到新公司上班,送300分,感谢在我最困难的时候在“软件工程”版给过我帮助的朋友们!! 请问斑竹及所有人,怎样得到QuickReport的总页数? Websphere3.5的一个BUG.希望有人反对.多谢.. 什么是DAMAP的对象 哪里有 winpcap 或 libnet 及其他网络编程辅助包下载? 谁能提供PSP文档?最好是Humphrey的那本书! 代码出现bebug.请大家帮我找!!!! TO:net_lover(孟子E章),详情请入内! 有谁用过DEV express系列的dxdbgrid??它是如何把一个文本文件txt读到dxdbgrid1.columns[i]的picklist中去,作为picklist的内容的啊? 我想在Linux下做数据库开发,用什么数据好? 我的pws可能出了问题,那位高手能解决一下 关于控制winamp 各位同行你们有这个的源程序吗(Cacio DT-900数据采集器) Html Help 制作方法 luodi(无知者无畏), 请进: 我用shell(app.path+"\mdac.exe"),来调用微软数据访问控件2.0,提示出错:命令行语法错误, 求救:如何将剪贴板中的内容放到image控件上 how to get the sytax of customer user object ? jsp中的打印问题 pb中有没有类似iif之类的语句 大虾们,怎样将String 类型转换成float 请问在及时战略中,怎么实现寻路的 我想在状态栏显示时间,有没有属性可以让时间自动变化,而不用其它辅助控件? 不会没人愿意回答这个问题吧,都贴第二次了!! 吃西瓜 我在注冊自創構件時總是出錯,請各位幫忙解決. 关于ado连接sybase的问题,紧急求救!!!(我的最高分了) 29分:flexcell定位 请教一下,关于Delphi COM类型库的问题 大家来谈谈申奥成功对我们的影响吧,我想知道怎么利用这个契机大赚一笔 各位谁喜欢“后街男孩”??喜欢的给分! 请问在DBGRID中改变当前选定行的颜色? 我想在DataSourceDataChange()中实现。 客户端怎么与服务器端通信 为什么我在窗口里修改了一个记录的图片字段后,在数据窗口内不能正常显示? 我要在RedLinux71下安装WEB服务器软件,请部如何做? 如何计算某年某月的天数和每天对应的星期 help!!! 为什么我的D6在编译时出现错误:“Fatal Error QuickRpt.pas(23):File not found:'Dsgnintf.dcu' 帝国时代之农民搞笑版……哈哈 如何用DEBUG的命令取消cmos密码!!!急急急! 请教一个Redhat安装的问题 该死的创新virba128…… 急!!!给tripofdream(梦之旅)和能解决全文检索的高手! 小学数学16*25+15*2简便算法 编写程序,计算圆柱体,球体,正方体和长方体的表面积和体积(提示:本题中,可先定义一 1.一个高10cm的圆柱,如果把高减少3cm,表面积就比原来减少18.84cm.这个圆柱的体积是多少立方厘米?2.把一个高8dm的圆柱体割拼成一个等底的近似长方体后,表面积增加了24dm²,圆柱体的体积是多 99x99十199要求用简便方法计算, 计算2008又2007分之1*2008分之2007 正方体、长方体、圆柱体的体积都可以用S乘以H来计算对吗? 99x99十199简便方法怎么计算. 求底面半径为5厘米,侧面展开为正方形的圆柱体的侧面积、表面积和体积. 用正方体,长方体,圆柱体,球体的盒子可以拼什么东西 西游记中8至几回是总写唐僧师徒历经九九八十一难? 一个圆柱体的底面直径是4厘米,它的侧面积是( )表面积是( ),体积是(一个圆柱体的底面直径是4厘米,它的侧面积是( )表面积是( ),体积是( ) 一个圆柱体如果它的高截短3厘米表面积减少94.2平方厘米它的底面半径减少多少体积减少多少 《西游记》为什么唐僧师徒要经过九九八十一难才能取回真经?这八十一难意味着什么? 一个圆柱体高10厘米,底面半径5分米,表面积是多少? 9、一个圆柱体,如果把它的高截短3厘米,表面积就减少94.2平方厘米.它的底面半径体积减少了( )立方厘米9、一个圆柱体,如果把它的高截短3厘米,表面积就减少94.2平方厘米.它的底面半径是( 西游记九九八十一难都有什么? 一个圆柱体底面半径是1分米,高是20厘米,它的体积是 表面积是 一个圆柱体,如果把它的高截短3厘米,表面积就减少94.2平方厘米.它的底面半径是多少厘米?体积减少了多少立方厘米? 求西游记中孙悟空他们经历的九九八十一难的名称劫难的名称和妖怪的名称(每个劫难)还有其下场,相当于把西游记的九九八十一难的浓缩成八十一小故事 开头 过程(经历) 结局(+妖怪 一个圆柱体的底面半径是1分米,他等侧面积是( )平方分米,表面积是( )平方分米,体积是( ) 一个圆柱体的底面半径是2cm,高5cm,它的侧面积是多少,表面积是多少,体积是多少列出算式 1,19,199,1999,2099,19999怎么念? 输入圆柱体的底面半径和高,求圆柱体的表面积和体积.请编写程序, 一个圆柱体的底面半径是4CM,高6CM,现在把这个圆柱体的高增加5CM,表面积和体积各增加多少? 1+1/1+2+1/1+2+3+……+1/1+2+3+……+2004+2005如何计算 编写程序,调用函数求一个圆柱体的表面积和体积.用c语言编写.谢谢啦. 一个圆柱体已知他的a=5cm h=2cm 求他的表面积和体积.(要有算式.) 计算(2/1+3/1+...+2005/1)x(l+2\1+2005\1)x(2\1+3\1+...+2004\1) 从键盘输入半径和高输出圆柱体的底面积和体积C语言 一个高为5CM的圆柱体,如果它的高增加3CM,那么它的表面积就增加18.84CM平方.原来的圆柱体的体积是多少? 计算:1+2+3+…+2002+2003+2002+…+3+2+1=? c语言求圆柱体的表面积和体积求圆柱体的表面积和体积.从键盘输入圆柱体的半径和高,求它表面积和体积,保留到小数点后2位. 一个圆柱体的底面周长是31.4厘米,如果高增加2厘米 底面大小不变 那么表面积比原来增加了多少平方厘米一个圆柱体的底面周长是31.4厘米,如果高增加2厘米 底面大小不变 那么表面积比原来 从1/1*2+1/2*3+.+1/2002*2003怎么计算 c语言计算圆柱体的体积与表面积 要求保留三位小数为什么我的输出总是0000?#include#define pi 3.14int main(){float r,h,v,s;scanf("%f%f",&r,&h);v=Pi*r*r*h;s=Pi*2*r*(r+h);printf("%.3f%.3f",&v,&s);return 0;} 一个圆柱体的底面周长是31.4米,高增加2厘米,底面大小不变,则表面积增加了多少急用,明天就要 计算: 1÷(1×2)+1÷(2×3)+… +1÷(2002×2003),请高手请点,谢谢 C语言编程,求我错在哪里了,目标:求圆柱体表面积和体积.#includeint main(){\x05float r,h,S,V,pi;\x05pi = 3.14;\x05scanf("%f,%f",&r,&h);\x05S = pi*r*r*2+2*pi*r*h;\x05V = pi*r*r*h;\x05printf("%f\n%f\n",S,V);\x05return 0;}我编译 一个圆柱体的底面周长是3.14cm,如多高增加2cm,底面大小不变,那么表面积比原来增加了多少?讲一讲,【必须列算式】 计算1+2+3+...+2002+2003+2002+...+3+2+1 c语言已知园半径r=1.5设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球体积,圆柱体 一个圆柱体底面周长是31.4厘米表面积是 408.2平方厘米这个圆柱的高是多少厘米? 简算 2004+200.4+20.04+2.004 输入圆柱体底面的半径R,和高H,输出其表面积S和体积V 用VB输入圆柱体底面的半径R,和高H,输出其表面积S和体积V 一个圆柱体底面周长与高相等,若高减少3cm,表面积减少188.4平方厘米,求原来圆柱体体积. 2004+200.4+20.04+2.004等于多少? JAVA声明圆柱体类和圆锥体类,继承矩形类rectangle并实现volume借口,计算表面积和体积要代码哦~注意继承的不是圆~ 把一个长80厘米的圆柱体,沿与底面平行方向平均裁成4段,表面积增加了188.4平方厘米,求每段的体积.详细解说一下,看不懂. 9.05*2.01 怎样简算 java设计:问题是编写程序计算圆柱体的体积和表面积编写程序计算圆柱体的体积和表面积.提示:1.读入半径和高.2.表面积=半径×半径×π+2×半径×π×高.3.体积=底面积×高4.注意使用的数 把一个长80厘米的圆柱体,沿与底面平行方向平均截成4段表面积增加188.4平方厘米求每段的体积 递等式计算,用简便算法.要用乘法运算定律、加法运算定律、除法运算性质、减法运算性质.快,好的重分酬谢!(4.2-0.4×6)÷4== (15300÷600+67.5)×180==10500÷(10500÷25×1.25)==[(5.84- 输入圆柱体的底面半径和圆柱体的高,并计算圆柱体的表面积和体积,并输出结果 从一个圆柱体截下一段高为5CM的小圆柱后,表面积比原来减少188.4平方厘米,被截下的小圆柱的体积是多少 125*1.25*0.125*8*.08*0.008*4*0.4*0.004*25*0.25*2.5=?(用简便算法计算).08改成0.8 已知圆柱体的直径是4厘米和高6厘米求它的表面积和体积 圆柱的底面半径是2厘米,高是5厘米,圆柱体的底面积\表面积\体积,分别是多少? 桌上摆了两盘奶糖,共50块,如果从甲盘子里面拿走5块放到乙盘子里,那么两个盘子的奶糖一样多,原来两个盘子里各有多少奶糖. 把长方体、正方体、圆柱体、圆锥体、球体分为两类为什么?请具体说明。如果考试?怎么办? 个高是10cm的圆柱,如果它的高减少2cm,表面积就减少18.84cm²,原来圆柱的体积是多少?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn