以下这段代码是我插入一字符串到word,我用的olecontainer,怎么把下面这段代码inset(str)插入到我设好书签的地方,书签名字为no,请教各位高

  • 主题发起人 xiangsni
  • 开始时间
X

xiangsni

Unregistered / Unconfirmed
GUEST, unregistred user!
以下这段代码是我插入一字符串到word,我用的olecontainer,怎么把下面这段代码inset(str)插入到我设好书签的地方,书签名字为no,请教各位高手(100分)<br />Procedure TfrmDoc.FormShow(Sender: TObject);
var
strsql,strsql1:string;
strmark:string;
str:string;
v:Variant;
begin
str:=Frmmode.Label2.Caption;
saved:=False;
Try
Screen.Cursor :=crHourGlass;
olecontainer1.DestroyObject;
olecontainer1.OldStreamFormat := true;
strsql:='select * from bsi where no='''+main_f.strno+'''';
qrydoc2.Close;
qrydoc2.SQL.Clear;
qrydoc2.SQL.Add(strsql);
qrydoc2.Open;
if qrydoc2.FieldByName('modeefile').AsString<>'' then
//已有记录
begin
FContentFile:=Frmmode.FContentFile+qrydoc2.fieldbyname('filename').AsString;
(qrydoc2.FieldByName('modeefile') As TBlobField).SaveToFile(FContentFile);
FILENAME:=qrydoc2.FIELDBYNAME('filename').AsString;
end
else
begin
v:=CreateOleObject('word.basic');
FContentFile := Frmmode.FContentFile+Frmmode.qrydoc1.FieldByName('remark').AsString;
ffilecnt:=FContentFile;
(Frmmode.qrydoc1.FieldByName('efile') As TBlobField).SaveToFile(FContentFile);
FILENAME:=Frmmode.qrydoc1.FieldByName('remark').AsString;
v.filenew(FContentFile);
// v.EditBookMark('no');
v.insert(str);
v.filesaveas(FContentFile);
v.fileclose;
end;
olecontainer1.CreateObjectFromFile(FContentFile, false);
If olecontainer1.State = osloaded then
begin
olecontainer1.Run;
end;
If olecontainer1.State = osrunning then
oleContainer1.DoVerb(ovShow);
Screen.Cursor := crdefault;
Except
olecontainer1.Close;
olecontainer1.Destroy;
Screen.Cursor := crdefault;
MessageBox(Handle,'请检查模板是否为空!','提示',MB_OK);
end;
end;
 

Similar threads

顶部