Autor Beitrag
Susan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Fr 19.07.02 10:20 
Hallo,

bin neu hier und hoffe ich Poste ins richtige Forum.
Ich möchte etwas aus Word auslesen.
Mit den OLE verbindungen kann ich bisher nur in Word schreiben.
Kann mir jemand von euch sagen wie ich bestimmte Postionen auslesen kann?
Bin für jede Hilfe dankbar.

_________________
Bis denne
Susan
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Fr 19.07.02 10:45 
Hi!

So sollte es gehen:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
uses ComObj;
...

var Word:Variant;
begin
  screen.Cursor:=crHourglass;
  try
    {Es wird zuerst versucht, eine laufende Word-Instanz zu verwenden}
    word:=GetActiveOleObject('Word.Application');
    word.visible:=True; 
  except
    try
      {Läuft Word noch nicht, wird eine neue Verbindung aufgebaut}
      Word:=CreateOleObject('Word.Application');
      //Soll Word sichtbar sein?
      word.visible:=true;
    except
      {Schlägt sie fehl (Word nicht installiert), gibt es eine Fehlermeldung}
      ShowMessage('Microsoft Word kann nicht starten.');
      screen.cursor:=crDefault;
      exit;
    end; 
  end;
  //Dokument öffnen
  Word.Documents.Open('C:\MeinDokument.doc');
  //Einfach mal den erstbesten Text anzeigen
  ShowMessage(Word.ActiveDocument.Range.Text);
  screen.cursor:=crDefault;
end;


Wie du nun auf bestimmte Bereiche des Word-Dokumentes zugreifst (z.B. Formularfelder etc.), erfährst du in der Visual-Basic-Hilfe für Word, die du auf der Office-CD findest.

Cu,
Udontknow
Susan Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Fr 19.07.02 11:01 
Super!!

Hab da aber noch eine Frage.
Du hast geschrieben das eine laufende Instanz versucht wird zu öffnen.
Besteht auch eine möglich die Procedure auszuführen wenn Word geschlossen ist?
Sorry falls ich dir auf die Nerven gehe aber OLE verbindungen liegen mir nicht

_________________
Bis denne
Susan
toms
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1099
Erhaltene Danke: 2



BeitragVerfasst: Fr 19.07.02 11:48 
*in quelltext schauen*

GetActiveOleObject versucht eine laufende Instanz zu "öffnen".
CreateOleObject erzeugt eine neue Instanz.

tom
Susan Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Fr 19.07.02 14:45 
alles klar danke :D

_________________
Bis denne
Susan