OleVariant 操作 word 的问题 急!!!(100分,清囊求助!)(100分)

  • 主题发起人 主题发起人 benelf
  • 开始时间 开始时间
B

benelf

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在被一些总是难到了。具体为:
现在可以用OleVariant变量来链接WORD,可是以后的我就不会了。
procedure Tfrmmain.btn1click(sender:TObject);
var
wrd:OleVariant;
begin
wrd:=CreateOleObject('word.basic');
wrd.FileOpen('f:/aa.doc');
end;
我现在只能做到这些,因为OleVariant的属性和方法我实再也找不到更多的了。
我现在还知道关于文件的一些操作(如,打开,关闭,另存)。
但是,有哪位大侠可以告诉我,如何在打开的文件中
查找(包括字符、控制符(像回车));
返回找到的字符所在位置(第几行,第几个字符);
拷贝到贴粘板;
定位;
请各位大侠吝赐教!
谁要是有OleVariant操作word.basic的全部方法、属性、事件,那就太完美了,我会另
开一贴送出100分!


 
一下不晓得对你有没有帮助.
var
OleExcel:olevariant;
begin
OleExcel:=CreateOleObject('Excel.Application');
OleExcel.application.visible:=true; //显示
OleExcel.workbooks.open('YY.xls'); //打开已有的文件
OleExcel.workbooks.open(Dept.DefaultDirPathName+StrCaption+'.xls'); //打开已有的文件
//设置页脚
OleExcel.ActiveSheet.Pagesetup.CenterFooter:='软件开发:'; OleExcel.ActiveSheet.Pagesetup.CenterFooter:='打印时间:'; OleExcel.ActiveSheet.Pagesetup.FooterMargin:=2/0.035;//页脚到底端边距2cm:

//打印单元格网线:
// OleExcel.ActiveSheet.PageSetup.PrintGridLines := True;
//页面水平居中:
OleExcel.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
//将页面设置卫横向
OleExcel.ActiveSheet.PageSetup.Orientation:=2;
//插入n整行
for nRow:=1 to 5 do
OleExcel.ActiveSheet.Rows[1].Insert;
OleExcel.cells[1,1]:=StrCaption; //赋标题栏
OleExcel.ActiveSheet.Rows[1].Font.Name := '宋体';
OleExcel.ActiveSheet.Rows[1].Font.Size := 15;
OleExcel.ActiveSheet.Rows[1].Font.Color := clBlack;
OleExcel.ActiveSheet.Rows[1].Font.Bold := True;
OleExcel.ActiveSheet.Rows[1].Font.UnderLine := True;
OleExcel.cells[3,1]:='操作员工号:'; //说明信息
OleExcel.cells[3,2]:=User.UserNo; //说明信息
OleExcel.cells[3,3]:='操作员姓名:'; //说明信息
OleExcel.cells[3,4]:='系统开发人员'; //说明信息
OleExcel.ActiveSheet.PrintPreview; //打印预览
 
我是想要用OLEVariant与word联系的方法啊,不是和Excel! 不过我还是要谢谢你的。
现在我已经知道如何联接了。
procedure ....
var
doc,wrd:OleVariant;
begin
doc:=CreateOleObject('word.basic');
wrd:=CreateOleObject('word.application);
doc.FileOpen('f:/xxx.doc');
wrd.selection.find.text:='text';
wrd.selection.find.forward:=True;
wrd.selection.find.execute;//以下用wrd.再加上VBA脚本可实现大部分word.basic的功能
这样就可以进行查找,但是,我现在有一个新问题,我是想把两个特定的字符(比如begin 和end )中间所有的内容(不管是文字,图片还是表格)都复制到剪贴板。不知这样的操作有没有人会啊。


// 这几步我都已完成,现在的问题是:
wrd <- 这个为OleVariant 变量
在word里,documents(1).activate 是可以使1号文档激活的,也就是使他得到focus
可是,在Delphi7 里
wrd.documents(1).activate; //却说“documents 不是方法”。这是什么意思?
 
后退
顶部