Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi mittels Delphi Texte in Word einfügen. (https://www.delphipraxis.net/12453-mittels-delphi-texte-word-einfuegen.html)

Norbert987 27. Nov 2003 17:33


mittels Delphi Texte in Word einfügen.
 
Hi Leute,

ich würde gerne mit einem Delphi Programm Texte in Worddokumente einfügen. Allerdings sollten sie hinter dem Cursor eingefügt werden. Nicht am Anfang oder am Ende. Ich habe auch schon ein "Unit" gefunden und zwar von TurboPower OfficePartner. Mein Versuch sieht so aus:

Delphi-Quellcode:
procedure TForm1.ListBoxClick(Sender: TObject);
var
str : String;
begin
Str := ListBox.Items[WasMarkiert(ListBox)];
Str := copy(Str, AnsiPos('. ', Str)+2, Length(Str)-2);
AddText(Str);
end;

procedure TForm1.AddText(Str : String);
var
direction, FieldType, Text: OleVariant;
begin
direction:= wdCollapseStart;
// You could add any type of field.
// There are 91 different types available.
// See OpWrd2K.pas
FieldType:= wdHyperlink; //wdFieldAutoText;
Text:= Str;
Sel:= OpWord1.Server.Selection;
Sel.Collapse(direction);
Flds:= Doc.AsDocument.Fields;
Fld:= Flds.Add(sel.Range, FieldType, Text, emptyParam);
end;
an sich funktioniert es alles, nur
FieldType:= wdHyperlink; //wdFieldAutoText;
funktioniert nicht, da ich nicht weiss wie es statt "wdHyperlink" heissen muss, das es ganz normaler Text ist.
würde mich echt super über eure Hilfe freuen
mfg Tobias[delphi]

Alexander 27. Nov 2003 17:51

Re: mittels Delphi Texte in Word einfügen.
 
Ich kenne mich mit der OLE-Automation nicht so super aus, aber kuck dir mal das hier an:
http://www.swissdelphicenter.ch/de/showcode.php?id=81

toms 27. Nov 2003 17:58

Re: mittels Delphi Texte in Word einfügen.
 
Hi!

Auf die schnelle gecoded und ungetestet:

Delphi-Quellcode:
uses
  ComObj;

// ...

var
  Word: OLEVariant;
begin
  try
    // offenes Word Dok. holen
    Word := GetActiveOleObject('Word.Application');
  except
    // sonst neue Word instanz erzeugen
    Word := CreateOleObject('Word.Application');
    // Neues Dok hinzufügen (mit Methode Open('Filename')
    // kann eine bestimmte Datei geöffnet werden
    Word.Documents.Add;
  end;
  // Word anzeigen
  Word.Visible := True;
  // Text schreiben
  Word.Selection.TypeText('DeinText');
end;

Norbert987 27. Nov 2003 18:03

Re: mittels Delphi Texte in Word einfügen.
 
Wow, super das ging ja schnell. Werde mal testen...
mfg Tobias


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz