Mega Code Archive

 
Categories / Delphi / Activex OLE
 

Word belgesinin içeriğini almak

//Delphi Türk TDI'lerinden alınmıştır. uses ComObj; var Winword, Doc: Variant; begin Winword := CreateOleObject('word.Application'); Doc := Winword.Documents.Open('C:\Belgem.doc'); Memo1.Lines.Text := Doc.Content; Winword.Quit; end; Var msword: Variant; begin //*************************Örnek-2***********************/// msword:=CreateOleObject('word.Application'); msword.Documents.Open(Filename:='word dosyası adı', ReadOnly:=False); msword.Visible:=False; msword.Selection.find.ClearFormatting; { msword.Selection.find.Text:= Searchstring; msword.Selection.find.Format := True; msword.Selection.find.Forward := False; msword.Selection.find.Execute; } msword.Selection.find.Execute(FindText:='Aranan kelime', Format:=True, Forward:=True); found := msword.Selection.find.Found; msword.ActiveDocument.Close; // if found then .. olarak kullanabilirsin.. msword.Quit(0); msword:=Unassigned; end; //*****************Örnek-3 ***************************// Var s,x,vT,vF : OleVariant; st : String ; Begin s:=''; vF:=False; vT:=True; x:=0; wd.Documents.Add(s,vF,x,vT); // Document new st:='bu bir paragraf .....'; wd.Selection.TypeText(st); wd.Selection.TypeParagraph; ....... end; // bu procedure document'i save ettirir... Procedure SaveToFile(Wd:TwordApplication;FileName:String); Var fn,ff,lockcomment,pass,addtorecentfiles,wrpass,readonlyrecommended, emmbedttf,savenativepicfmt,saveforms,saveasAOCELetter: OleVariant; Begin fn:=FileName; ff:=wdFormatDocument; lockcomment:=False; pass:=''; Addtorecentfiles:=True; wrpass:=''; Readonlyrecommended:=False; emmbedttf:=false; savenativepicfmt:=False; saveforms:=False; saveasAOCELetter:=False; wd.ActiveDocument.SaveAs(fn,ff,lockcomment,pass,addtorecentfiles,wrpass,readonlyrecommended,emmbedttf,savenativepicfmt,saveforms,saveasAOCELetter); End; //*************Örnek-4**************// bir variant tanımla mesela word,doc,page:variant; gibi word:=createOleObject('word.application');//word'e bağlantı kurar word.Documents.Add;//boş bir döküman ekler doc:=word.documents.item(1);//dökümanı açar ve birinci paragrafı yerleştirir page:=doc.PageSetup; page.TopMargin:=43;//üst 1,5 cm Page.BottomMargin:=36; gerekli işlemleri yaptıktan sonra word.quit; word:=unassigned; yazarak OLE bağlantısını serbest bırakırsın... NOT: OLE Bğlantısı çok yavaş çalışır... Özellikle word ile olan OLE bağlantısı çok yavaş... Yani Excel'den 3 defa daha yavaş diyebilirim... Bu nedenle yüksek RAM'li bir makinanan yoksa olabilecek kilitlenme ve OLE bağlantı hatalarına hazır olmalısın...