在网上搜了一些资料,但都觉得很零乱,也没有找到很好方法,请给出好的完整解决方法来,最好有成功的代码例子,重分酬谢!
在delphi 7里用OLEContainer控件连接好MS Word后,Word工具栏的[文件]部分不见了,我是用自己加的Menu控件设置了[文件]部分,但是就要对它进行写[新建]、[打开]、[保存]、[另存]、[页面设置]、[打印]及[打印预览]等部分,我已经做好了[保存]和[打开]部分,其他部分还没有做出来。请高手不吝赐教,谢谢!还有希望跟数据库连接在一起,作出来的文档可以保存在数据库里,也可以从数据库里调出来编辑等。谢谢!
很紧迫的问题,希望今天晚上10点之前有圆满的回复。如果觉得分太少,我可以另开贴给分,但是只要你做出来就给分!
谢谢关注!!!
在delphi 7里用OLEContainer控件连接好MS Word后,Word工具栏的[文件]部分不见了,我是用自己加的Menu控件设置了[文件]部分,但是就要对它进行写[新建]、[打开]、[保存]、[另存]、[页面设置]、[打印]及[打印预览]等部分,我已经做好了[保存]和[打开]部分,其他部分还没有做出来。请高手不吝赐教,谢谢!还有希望跟数据库连接在一起,作出来的文档可以保存在数据库里,也可以从数据库里调出来编辑等。谢谢!
很紧迫的问题,希望今天晚上10点之前有圆满的回复。如果觉得分太少,我可以另开贴给分,但是只要你做出来就给分!
谢谢关注!!!
我试过几次都不行,我是以流的方式存入的,执行没有问题,但是数据库里对应的字段为空。代码如下:
pro......
Var
W_Stream:TStream;
begin
W_Stream:=TMemoryStream.Create;
OLEContainer1.SaveToStream(W_Stream);
W_Stream.Position:=0;
......
TBlodFileName(ADOQuery1.FieldByName('OLEWord')).LoadfromStream(W_Stream);
ADOQuery1.Post;
.....
//'OLEWord'为IMAGE字段类型
end;
v: Variant;
begin
Ole.DoVerb(-1);//激活
v := Ole.OleObject;
v.Application.CommandBars['Standard'].Visible := True;//工具
v.Application.CommandBars['Formatting'].Visible := True;
Ole.DoVerb(-1); if SaveFlag <> True then begin
case MessageDlg('Word文檔沒有保存,是否保存?', mtInformation, [mbYes, mbNo, mbCancel], 0) of
mrYes: begin
if not DirectoryExists('c:\temp') then MkDir('c:\temp');
if Ole.State <> osEmpty then begin
Ole.SaveAsDocument('c:\temp\' + filename + '.doc');//保存
Ole.DestroyObject;
end;
CanClose := True;
end;
mrNo: CanClose := True;
mrCancel: CanClose := false;
end; //Case...
end
else begin
if Ole.State <> osEmpty then begin
if not DirectoryExists('c:\temp') then MkDir('c:\temp');
Ole.SaveAsDocument('c:\temp\' + filename + '.doc');
Ole.DestroyObject;
end;
end;