Thema: Delphi Zugriffe auf MS Word

Einzelnen Beitrag anzeigen

Mysterio08

Registriert seit: 11. Jan 2009
142 Beiträge
 
#1

Zugriffe auf MS Word

  Alt 16. Mai 2010, 13:09
Guten Tag,

ich habe angefangen, mich mit den Zugriffen auf MS Word zu beschäftigen, komme aber nicht zurecht, weil mir Quellen zu diesem Thema ganz unterschiedliche Informationen bieten. Es fängt schon beim Zugriff an. Im Buch Borland Delphi 7 habe ich diesen Zugriff gefunden:
Delphi-Quellcode:
uses comobj;
{$R *.DFM}
var word: variant;
  procedure TForm1.Button1Click(Sender: TObject);
  begin
    word := CreateOleObject('Word.Application');
    word.visible := True;
    word.Documents.Open(FileName:= ExtractFilePath(Paramstr(0)) + 'name.doc');
  end
Bei Delphi-Treff steht nun etwas (komplett) anderes unter der Verwendung von TWordApplication:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  WordApplication:=TWordApplication.create;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if assigned(WordApplication) then
  begin
    WordApplication.Connect;
    WordApplication.Visible:=true;
  end;
end;
Es ist doch gleichtültig, welche Variante ich verwende, oder übersehe ich etwas?

Und wie funktioniert es, dass ich ein ganz neues Dokument mit Delphi erstellen kann? Ich habe schon so mit der TWordDocument-Komponente versucht:
Delphi-Quellcode:
Dokument: TWordDocument; //Öffentliche Deklarationen
Word: TWordApplication
...
Dokument := TWordDocument.Create(Self) //Erstellen im OnCreate-Ereignis
...
//Beim Klicken auf einen Button
Dokument.Connect;
Word.NewDocument;
Word.NextLetter
Und drittens: Wie funktioniert es mit dem Zugriff auf ActiveX-Steuerelemente wie der TextBox (Edit) etc.? In Borland Delphi 7 wurde es mit "Formulare aus der Vorversion" realisiert (Aber dort fine ich keine TextBoxen...), wie es in MS Word heißt:
word.ActiveDocument.FormFields.Item('Text1').Result := edit1.text; So klappt der Zugriff auf die ActiveX-Steuerelemente allerdings nicht, es treten immer Laufzeitfehler auf.

Ich wäre schon dankbar, wenn eine Verlinkung zu einem sehr vollständigen Tutorial gepostet würde.

mfg.
  Mit Zitat antworten Zitat