У меня имеется процедура добавления информации с бд в шаблон word
| Код | var DocName, FN, gp, Psw, PswTmp, Revert, WritePsw, WritePswTmp, Fmt, Index: OleVariant; _Prod, Prod,ConfConv,ReadOnly,AddToRecFiles,replace, FalseParam: OleVariant; TrueParam: OleVariant; Wrap : OleVariant; i1 : OleVariant; // Temporaly Var <-| SP : OleVariant; // Save Prompt <-| EP : OleVariant; // Empty param <-| i : integer; EmptyParam: OleVariant; // Пустой параметр S,S1 : string;
begin DocName:=GetProgramPath+'tablc.doc'; ConfConv:=true; ReadOnly:=False; AddToRecFiles:=False; Psw:=''; PswTmp:=''; Revert:=False; WritePsw:='False'; WritePswTmp:='False'; Fmt:=WdOpenFormatAuto;
FalseParam:=False; TrueParam:=True; Wrap:=WdFindContinue;
WordApplication1.Connect; WordApplication1.Documents.OpenOld(DocName, ConfConv, ReadOnly, AddToRecFiles, Psw, PswTmp, Revert, WritePsw, WritePswTmp, Fmt); WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
Replace:=WdReplaceAll; Index:=0;
FN:=InputBox('Сохранение','Введите имя файла:','xXx.doc');
for i:=1 to WordApplication1.Documents.Count do begin i1:=i; S:=FN; if Pos('.',S)<>0 then S:=Copy(S,1,Pos('.',S)); S:=S+'doc'; S1:=WordApplication1.Documents.Item(I1).Name; S:=ExtractFileName(S); S1:=ExtractFileName(S1); // усли имена файлов одинаковы if UpperCase(S1)=UpperCase(S) then // то файл закрывается begin WordApplication1.Visible:=True; SP:=wdPromptToSaveChanges; EP:=wdOriginalDocumentFormat; WordApplication1.Documents.Item(i1).Close(SP,EP,EP); end; end; gp:=GetProgramPath+FN; // сохраняем шаблон под именем new_1.doc WordDocument1.SaveAs(gp);
////////////////////////// Вставляем в шаблон /////////////////////////////////
// номер лота _Prod:='LabeledEdit1'; Prod:=labelededit1.Text; WordDocument1.Range.Find.ExecuteOld(_Prod, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, Prod, replace);
// название лекарства _Prod:='Nazvanie'; Prod:=table1.fieldbyname('Name').AsString; WordDocument1.Range.Find.ExecuteOld(_Prod, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, Prod, replace);
WordApplication1.Application.Visible:=True; WordApplication1.Disconnect;
|
не могу разобраться в чем проблема? когда я нажимаю кнопку то просто - напросто программа зависает...помогите разобраться в чем проблема? =) заранее спасибо |