在网上搜了一些资料,但都觉得很零乱,也没有找到很好方法,请给出好的完整解决方法来,最好有成功的代码例子,重分酬谢!
在delphi 7里用OLEContainer控件连接好MS Word后,Word工具栏的[文件]部分不见了,我是用自己加的Menu控件设置了[文件]部分,但是就要对它进行写[新建]、[打开]、[保存]、[另存]、[页面设置]、[打印]及[打印预览]等部分,我已经做好了[保存]和[打开]部分,其他部分还没有做出来。请高手不吝赐教,谢谢!还有希望跟数据库连接在一起,作出来的文档可以保存在数据库里,也可以从数据库里调出来编辑等。谢谢!
很紧迫的问题,希望今天晚上10点之前有圆满的回复。如果觉得分太少,我可以另开贴给分,但是只要你做出来就给分!
谢谢关注!!!

解决方案 »

  1.   

    怎么没人回应啊?我已经做好了一些功能,但是希望可以把OLEContainer的激活的WORD文档保存到数据库里,
    我试过几次都不行,我是以流的方式存入的,执行没有问题,但是数据库里对应的字段为空。代码如下:
    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;
      

  2.   

    var
      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;
      

  3.   

    看WORD的帮助,有相关帮助,或者你直接看VBA,那些操作非常类似