帮忙看一下代码, 谢谢!!(100分)

  • 主题发起人 主题发起人 All_dog
  • 开始时间 开始时间
A

All_dog

Unregistered / Unconfirmed
GUEST, unregistred user!
这是hsw曾经留下的代码,(我做了些改动)编译的时候,有三处错误!!
hsw (2000-07-01 11:59:00)
同意menxin的说法,使用OleContainer,
DoVerb(0)<<---这样可以实现内嵌,不会弹出一个WORD窗口
procedure Tfrmgmp.BtnDispBolbClick(Sender: TObject);
var
WordVar: olevariant;
begin
// DispBlob:= not DispBlob;
OleDocumt.DoVerb(0);
WordVar:=OleDocumt.OleObject.Application ;
WordVar:=GetActiveOleObject('Word.Application');
if Not IsMaxState then Begin
if WordVar.ActiveWindow.WindowState <> xlMaximized then
IsMaxState:=True ;
try
//Showmessage(IntToStr(ExcelVar.ActiveWindow.WindowState));
WordVar.ActiveWindow.WindowState := xlMaximized ;
except
IsMaxState:=False ;
end;
end;
end;

[Error] gmpunit.pas(245): Undeclared identifier: 'GetActiveOleObject'
[Error] gmpunit.pas(246): Undeclared identifier: 'IsMaxState'
[Error] gmpunit.pas(247): Undeclared identifier: 'xlMaximized'
请问出错的是哪个类的属性或方法??
(我要实现的是从word里导入文档,在程序里编辑,然后保存到数据库。)
 
GetActiveOleObject在comobj中定义,
xlMaximized在Excel97.pas(如果你是用D5)或者Excel2000(如果你用的是D6)
IsMaxState好像是自己定义的boolean类型吧.
所以只要定义var Boolean : boolean 和
uses comobj,excel97(或者excel2000)就可以了.
 
同意楼上的

unit XXX;

interface

uses ...,ComObj;
 
我用的是d5, 谢谢楼上几位,还有几个小问题,很快发分。
1.请问word97.pas里有类似xlMaximized的属性吗?
2.comobj是什么类呀?
3.我在第二次打开界面时保存olecontainer里文档至数据库时出错
//'docfile已被损坏。'
4.再次激活ole时出错
//'未指定的错误。'

顺便提一下我正头大的小模块,我想搞一个word文档管理,现在只能从word导入ole(只显示一页,正在修改),
然后保存到oracle数据库(我用三层结构),从数据库调出浏览。
尚未实现的是在程序里对文档进行编辑(如果太麻烦,在程序外也将就了),最让人捞头的
是查询,知道文档里的几个字查询对应记录!!

大师们,富翁们,帮帮手了!!能提供代码的重分酬谢!!!

 
>>1.请问word97.pas里有类似xlMaximized的属性吗?

>>2.comobj是什么类呀?
comobj是delphi的一个单元unit;
>>3.我在第二次打开界面时保存olecontainer里文档至数据库时出错//'docfile已被损坏。'
保存格式不一致;
>>4.再次激活ole时出错//'未指定的错误。'
释放问题;

 
多人接受答案了。
 
后退
顶部