Exel'e gönderip yazdırdığımız gibi Word'e de gönderebiliyorm

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
avci
Üye
Mesajlar: 11
Kayıt: 17 Haz 2003 10:34
Konum: Bandırma
İletişim:

Exel'e gönderip yazdırdığımız gibi Word'e de gönderebiliyorm

Mesaj gönderen avci »

Selamunaleyküm. Benim sorum şu. Programda herhangi bir formu exele gönderip yazdırabiliyoruz. Aynı şekilde Word'e de gönderip yazdırma imkanımız varmı. Teşekkürler. Kolay gelsin.
Kullanıcı avatarı
Asri
Kıdemli Üye
Mesajlar: 767
Kayıt: 16 Eyl 2003 09:54
Konum: istanbul

Mesaj gönderen Asri »

Delphi ve MSword ile ilgili bir kaç procedure umarım şine yarar.

iyi çalışmlar.


//Word de grafik oluştrmak için

Kod: Tümünü seç

procedure TForm1.CopyChartToWord;
var
  Range: Variant;
  i, NumPars: Integer;
begin
  NumPars := WordApp.Documents.Item(1).Paragraphs.Count;
  Range := WordApp.Documents.Item(1).Range(
    WordApp.Documents.Item(1).Paragraphs.Item(NumPars).Range.Start,
    WordApp.Documents.Item(1).Paragraphs.Item(NumPars).Range.End);
  Range.Text := 'This is graph: ';

  for i := 1 to 3 do WordApp.Documents.Item(1).Paragraphs.Add;

  Range := WordApp.Documents.Item(1).Range(
    WordApp.Documents.Item(1).Paragraphs.Item(NumPars + 1).Range.Start,
    WordApp.Documents.Item(1).Paragraphs.Item(NumPars + 1).Range.End);

  Range.PasteSpecial(,,,,wdPasteOleObject);  
end;

//Bir word belgesi açmak ve yapıştırmak.

Kod: Tümünü seç

procedure TForm1.CopyCellsToWord;
var
  Range: Variant;
  i: Integer;
begin
  WordApp := CreateOleObject('Word.Application');
  WordApp.Visible := True;
  WordApp.Documents.Add;
  Range := WordApp.Documents.Item(1).Range;
  Range.Text := 'This is a column from a spreadsheet: ';
  for i := 1 to 3 do WordApp.Documents.Item(1).Paragraphs.Add;
  Range := 
    WordApp.Documents.Item(1).Range(WordApp.Documents.Item(1).      
      Paragraphs.Item(3).Range.Start);
  Range.Paste;
  for i := 1 to 3 do WordApp.Documents.Item(1).Paragraphs.Add;
end;
//Açılan word belgesini kapatmak için

Kod: Tümünü seç

procedure TForm1.FormDestroy(Sender: TObject);
begin
  if not VarIsEmpty(XLApp) then begin
    XLApp.DisplayAlerts := False;  // Discard unsaved files....
    XLApp.Quit;
  end;

  if not VarIsEmpty(WordApp)then begin
    WordApp.Documents.Item(1).Close(wdDoNotSaveChanges);
    WordApp.Quit;
  end;
end;
//Word dosyasını kaydetmek ve maili ile göndermek

Kod: Tümünü seç

procedure TForm1.MailDocument;
begin
  WordApp.Documents.Item(1).SaveAs('c:foo.doc');
  WordApp.Options.SendMailAttach := True;
  WordApp.Documents.Item(1).SendMail;
end;
Öğrenmek ve öğretmek, akıntıya karşı yüzmek gibidir ilerleyemediğiniz taktirde gerilersiniz.
Cevapla