社区
Delphi
帖子详情
高分求解,请用DELPHI控制WORD及EXCEL的高手指点,因不知问题有没有可行的解决方案,故暂时只给50分,如果确实解决了,再加200分
zhengkapi
2002-05-18 10:29:15
我想在delphi应用程序中显示WORD及EXCEL文档,同时将word或excel的工具菜单都隐起来,但必需保留一个在文档中插入批注的功能,而且文档最好是只读的,就是文档原文不能被修改,但又要求插下的批注能够保存,请高手指点有没有办法实现,
...全文
29
16
打赏
收藏
高分求解,请用DELPHI控制WORD及EXCEL的高手指点,因不知问题有没有可行的解决方案,故暂时只给50分,如果确实解决了,再加200分
我想在delphi应用程序中显示WORD及EXCEL文档,同时将word或excel的工具菜单都隐起来,但必需保留一个在文档中插入批注的功能,而且文档最好是只读的,就是文档原文不能被修改,但又要求插下的批注能够保存,请高手指点有没有办法实现,
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhengkapi
2002-06-10
打赏
举报
回复
其实这个问题并没有得到真正解决,
不过放在这里很久了,
如果总不结贴也不好,
就此结了吧
hx_zm
2002-05-19
打赏
举报
回复
提供一个最简单的方法:
把你想要的功能与步骤在word and excel 里做一边,
利用宏定义功能录制下来,将它套入你的代码
zhengkapi
2002-05-19
打赏
举报
回复
TO:womanlee(小蜜蜂)
你说的资料我也有,不是我想要的,我现在是要将所有的功能都关掉,但须保留一个插入批注的功能
womanlee
2002-05-19
打赏
举报
回复
下面这个说得行清除了,我原来的代码,有很多是别的用途的
记住要先 use comobj
如果还有什么设置不懂的话,可以现在excel里面录制宏,来看看
(一) 使用动态创建的方法
首先创建 Excel 对象,使用ComObj:
var ExcelApp: Variant;
ExcelApp := CreateOleObject( 'Excel.Application' );
1) 显示当前窗口:
ExcelApp.Visible := True;
2) 更改 Excel 标题栏:
ExcelApp.Caption := '应用程序调用 Microsoft Excel';
3) 添加新工作簿:
ExcelApp.WorkBooks.Add;
4) 打开已存在的工作簿:
ExcelApp.WorkBooks.Open( 'C:\Excel\Demo.xls' );
5) 设置第2个工作表为活动工作表:
ExcelApp.WorkSheets[2].Activate;
或
ExcelApp.WorksSheets[ 'Sheet2' ].Activate;
6) 给单元格赋值:
ExcelApp.Cells[1,4].Value := '第一行第四列';
7) 设置指定列的宽度(单位:字符个数),以第一列为例:
ExcelApp.ActiveSheet.Columns[1].ColumnsWidth := 5;
8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:
ExcelApp.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米
9) 在第8行之前插入分页符:
ExcelApp.WorkSheets[1].Rows[8].PageBreak := 1;
10) 在第8列之前删除分页符:
ExcelApp.ActiveSheet.Columns[4].PageBreak := 0;
11) 指定边框线宽度:
ExcelApp.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;
1-左 2-右 3-顶 4-底 5-斜( \ ) 6-斜( / )
12) 清除第一行第四列单元格公式:
ExcelApp.ActiveSheet.Cells[1,4].ClearContents;
13) 设置第一行字体属性:
ExcelApp.ActiveSheet.Rows[1].Font.Name := '隶书';
ExcelApp.ActiveSheet.Rows[1].Font.Color := clBlue;
ExcelApp.ActiveSheet.Rows[1].Font.Bold := True;
ExcelApp.ActiveSheet.Rows[1].Font.UnderLine := True;
14) 进行页面设置:
a.页眉:
ExcelApp.ActiveSheet.PageSetup.CenterHeader := '报表演示';
b.页脚:
ExcelApp.ActiveSheet.PageSetup.CenterFooter := '第&P页';
c.页眉到顶端边距2cm:
ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
d.页脚到底端边距3cm:
ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
e.顶边距2cm:
ExcelApp.ActiveSheet.PageSetup.TopMargin := 2/0.035;
f.底边距2cm:
ExcelApp.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
g.左边距2cm:
ExcelApp.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
h.右边距2cm:
ExcelApp.ActiveSheet.PageSetup.RightMargin := 2/0.035;
i.页面水平居中:
ExcelApp.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
j.页面垂直居中:
ExcelApp.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
k.打印单元格网线:
ExcelApp.ActiveSheet.PageSetup.PrintGridLines := True;
15) 拷贝操作:
a.拷贝整个工作表:
ExcelApp.ActiveSheet.Used.Range.Copy;
b.拷贝指定区域:
ExcelApp.ActiveSheet.Range[ 'A1:E2' ].Copy;
c.从A1位置开始粘贴:
ExcelApp.ActiveSheet.Range.[ 'A1' ].PasteSpecial;
d.从文件尾部开始粘贴:
ExcelApp.ActiveSheet.Range.PasteSpecial;
16) 插入一行或一列:
a. ExcelApp.ActiveSheet.Rows[2].Insert;
b. ExcelApp.ActiveSheet.Columns[1].Insert;
17) 删除一行或一列:
a. ExcelApp.ActiveSheet.Rows[2].Delete;
b. ExcelApp.ActiveSheet.Columns[1].Delete;
18) 打印预览工作表:
ExcelApp.ActiveSheet.PrintPreview;
19) 打印输出工作表:
ExcelApp.ActiveSheet.PrintOut;
20) 工作表保存:
if not ExcelApp.ActiveWorkBook.Saved then
ExcelApp.ActiveSheet.PrintPreview;
21) 工作表另存为:
ExcelApp.SaveAs( 'C:\Excel\Demo1.xls' );
22) 放弃存盘:
ExcelApp.ActiveWorkBook.Saved := True;
23) 关闭工作簿:
ExcelApp.WorkBooks.Close;
24) 退出 Excel:
ExcelApp.Quit;
firetoucher
2002-05-19
打赏
举报
回复
delphi光盘上的示例目录下activex目录有例子
自己看吧!
zhengkapi
2002-05-19
打赏
举报
回复
TO:: womanlee(小蜜蜂)
上面这段代码起什么作用?能够加点注释吗
womanlee
2002-05-19
打赏
举报
回复
var i,m,n,j:integer;
ExcelApp:Variant;
mysql:string;
begin
ExcelApp := CreateOleObject( 'Excel.Application' );
ExcelApp.Visible := True;
query4.Close;
query4.sql.Clear;
query4.sql.Add('select dwdm from dp_dwszb where dwmc='+''''+combobox1.text+'''');
query4.open;
frmtongji.sqlstr:=' and a.dwdm='+trim(query4.fieldbyname('dwdm').asstring);
//ExcelApp.WorkBooks.Add;
ExcelApp.WorkBooks.Open('政治文化面貌结构.xls');
ExcelApp.ActiveSheet.PageSetup.PrintGridlines:=true;
ExcelApp.ActiveSheet.PageSetup.CenterHorizontally:=true;
ExcelApp.ActiveSheet.PageSetup.CenterHeader:='&28政治面貌文化结构报表';
ExcelApp.ActiveSheet.PageSetup.PrintTitleRows:='$1:$1';
ExcelApp.ActiveSheet.PageSetup.PrintTitleColumns:='$A:$A';
ExcelApp.ActiveSheet.PageSetup.LeftFooter:=date;
ExcelApp.ActiveSheet.PageSetup.CenterFooter:='第&P页';
ExcelApp.ActiveSheet.PageSetup.RightFooter:='总共&N页';
//ExcelApp.WorkSheets[1].Activate;
.ActiveSheet.PrintPreview;
zhengkapi
2002-05-19
打赏
举报
回复
请高手指点呀
womanlee
2002-05-19
打赏
举报
回复
用宏嘛,我没有做过这样的东西,不过我都是先把宏录制下来,然后看看就是了呀。
zhengkapi
2002-05-19
打赏
举报
回复
请高手指点呀,没有办法解决了吗
zhengkapi
2002-05-18
打赏
举报
回复
TO:lxpbuaa(桂枝香在故国晚秋)
请问用什么组件呀,可不可以给代码参考?
lxpbuaa
2002-05-18
打赏
举报
回复
使用Servers下的组件即可搞定。
--------------------------------------------------
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
lxpbuaa
2002-05-18
打赏
举报
回复
出来这么多?
lxpbuaa
2002-05-18
打赏
举报
回复
使用Servers下的组件即可搞定。
登临送目,正故国晚秋,天气初肃。
千里澄江似练,翠峰如簇。
归帆去棹残阳里,背西风、酒旗斜矗。
彩舟云淡,星河鹭起,画图难足。
念往昔,繁华竞逐。
叹门外楼头,悲恨相续。千古凭高,对此漫嗟荣辱。
六朝旧事随流水,但寒烟、芳草凝绿。
至今商女,时时犹唱,后庭遗曲。
zhengkapi
2002-05-18
打赏
举报
回复
TO:notdo(无为)
这本书在那里有DOWN呀,我现在手头没有这本书
NotDo
2002-05-18
打赏
举报
回复
很多书有介绍,如<<delphi5实务经典>>等等
我在CSDN参与的3000个帖子
今日偶然翻到,感慨万千 1:申述:版主,是否扣了我的专家
分
? 2:100
分
急求,随机输出十个小写字母,但是,要求这十个字母不相同 3:求Sn=a+aa+aaa+…+aaa…a(n个a)之值 4:数组题 望
高手
帮忙! 5:呵呵,来推荐一下我的网站,本站提供大量当今流行的免费的音乐和免费电影,常用软件、游戏、精美图库下载,希望对网友有帮助!顺便散
分
! 6:VBA请教怎
WEB开发文档2 总结
转自:http://blog.donews.com/lvjiyong/archive/
200
6/06/29/931071.aspx怎样将后台生成的在内存中的图象显示到客户端Microsoft IE WebControls下载地址如何在DATAGRID中使用JAVASCRIPT脚本
控制
DataGrid中连接到下一页显示数据下载中文名文件时保存文件名乱码
问题
关于用ASP.net绘图的
问题
,请大虾指教那
COM和数据库
如何手动把ACTIVEX控件天家到窗口中?求教:我一个activex控件要处理PreTranslateMessage,这个控件如果是插入在一个dialog上就正常,如果在一个view中用create创建控件的PreT如何将activex control中的类导出?请进!up有
分
!VC开发的带有dispatch的com服务器如何返回一个数组给vbscript,或者javascript实现OLE容器N
数据库帖子收集
这样的数据列表在存储过程中应该怎么样选择得到? 请问造成SQL
200
0服务不能启动的原因有哪些? sql server中有無類似于if 的函數,即像這樣select if(cancel=1,'cancel','') from sales 这样怎么返回呀!!!!记录集的返回。。 谁能跟我说说期初库存怎么样的一个业务逻辑!都要处理哪些内容!需要每月进...
MS-SQL Server 基础类 - SQL语句
Delphi
5,930
社区成员
262,938
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章