Announcement

Collapse
No announcement yet.

Text in Felder in Word eintragen...

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Text in Felder in Word eintragen...

    Hallo,
    wie kann ich über Automation Texte aus meiner EDV an einen bestimmten Platzhalten in Word eintragen ? Über Excel habe ich soetwas schon realisiert, in Word finde ich irgendwie keinen Ansatz.

    Danke im vorraus

  • #2
    var word: Variant;

    begin
    try
    word:=CreateOleObject('Word.Application')
    Except
    ShowMessage('Word konnte nicht gestartet werden.');
    exit;
    end;
    word.visible:=true;
    word.documents.add;
    word.selection.TypeText(Text:='Hallo');
    word.selection.TypeText(Text:=#13); //eine Leerzeile.

    Wenn du in Word ein neues Macro erstellst und alle Sachen die du machen willst, aufzeichnest, dann kannst du den Quelltext copieren und in Delphi einfügen. Nor vor jede Zeile das word. setzte

    Comment


    • #3
      Suche noch ein Paar Delphibefehle für Word

      Hallo,

      kann mir jemand weiterhelfen, suche noch ein paar Befehle?
      connected mit word usw bin ich

      Hab das mal hin geschrieben:
      ...
      //Kopfzeile erstellen
      Form1.WordDocument1.ActiveWindow.ActivePane.View.S eekView:= 10;//kopfzeile
      Form1.WordDocument1.ActiveWindow.Selection.Font.co lor:= RGB(0, 0, 255); //blau
      Form1.WordDocument1.ActiveWindow.Selection.Font.Si ze:= 10;
      Form1.WordDocument1.ActiveWindow.Selection.Font.Bo ld:=1; //Fett
      Form1.WordDocument1.ActiveWindow.Selection.TypeTex t ('Überschrift Blubb');

      //Text Schreiben
      Form1.WordDocument1.ActiveWindow.ActivePane.View.S eekView:= 10;
      Form1.WordDocument1.ActiveWindow.Selection.Font.co lor:= RGB(0, 0, 255); //blau
      Form1.WordDocument1.ActiveWindow.Selection.Font.Si ze:= 10;
      Form1.WordDocument1.ActiveWindow.Selection.Font.Bo ld:=0; //Fett
      Form1.WordDocument1.ActiveWindow.Selection.TypeTex t ('Mr Blubb');
      // hier möchte ich ein Tabs einfügen....z.B für:
      Form1.WordDocument1.ActiveWindow.Selection.TypeTex t ('Datum');

      Worddoc sollte dann so ungfähr aussehen:
      ________________________________________________
      |
      | Überschrift
      |
      |
      |// Kopfzeile zu ende
      |
      |
      |//Text mit Schleife
      |
      |Mr.Blobb ++++Tab +++++Tab ++++ Datum:
      |Adresse
      |
      |Blaaa
      |blaaa
      |
      |
      |blaaa +++++++++++++ blaaaaa +++++++++++ blaaaa
      |
      |usw, wie es durch die Textdateiinfos am besten zusammen passt

      Form1.WordDocument1.ActiveWindow.Selection.TypePar agraph ; // Absatz
      Form1.WordDocument1.ActiveWindow.Selection.TypeTex t ('Adresse') ;


      Suche auch noch ein Code für auslesen einer Datei.txt, in Verbindung mit dem oben genannten Tabproblem.
      Textdatei wird immer mit gleichen Zeilen gefüllt,ausgelesen, möchte diese aber gerne auf dem Worddocoment an definierte Stellen bringen. Bin noch blutiger Anfänger, hab schonmal eine Schleife erstellt, aber ich seh vor lauter Bäumen den Wald nicht mehr:

      //Auslesen der Datei Daten1.txt mit Schleife
      try
      StringListeWord:=TStringList.Create; //Variable inizialisieren
      StringListeWord.LoadFromFile('Daten1.txt'); //Datei aus Stringliste (Textdatei) laden

      for zeilennr:=0 to StringListeWord.Count-1
      do
      begin //Schleife über alle Zeilen, Zählung
      //beginnt mit 0, die Eigenschaft Count
      //enthält die Gesamtzahl der Zeilen
      if StringListeWord[zeilennr]= StringListeWord[zeilennr] then // wenn gleich...dann schreib in word... rein!
      begin
      Form1.WordDocument1.ActiveWindow.Selection.TypeTex t (StringListeWord[zeilennr]);
      Form1.WordDocument1.ActiveWindow.Selection.TypePar agraph ; // Absatz
      end;
      end;

      finally
      StringListeWord.free; //Objekt wieder freigeben
      Form1.WordApplication1.ActiveWindow.Visible := True;

      und möchte gerne noch den Arbeitsspeicher frei machen...
      beim schliessen von meinem Worddoc ist im Arbeitsspeicher noch einer drin (glaub ich zumindest) nämlich beim 2ten öffnen macht er, obwohl nichts von Word offen ist, Document 2....Document3 usw auf

      Ich wäre Dankbar für kleine Hilfen und Tricks
      MfG
      Christian

      Comment

      Working...
      X