Announcement

Collapse
No announcement yet.

Wie schreibe ich in ein geschlossenes DOT

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

  • Wie schreibe ich in ein geschlossenes DOT

    Die Frage müßte korrekt lauten: Wie schreibe ich in Textfelder eines Dokumentes, das auf einer Vorlage beruht, die geschlossen ist (nicht veränderbar)

    Wir verwenden zum Schreiben von Verlegungsberichten ein Word-Dokument, welches auf einer Vorlage basiert. Diese Vorlage ist geschlossen.

    1.) Ist dieser Zustand, kann ich kein Makro-recorden

    2.) Der folgende Programm-Code versagt bei geschlossenem Dot, nicht aber bei geöffnetem

    <PRE>
    procedure TForm1.Button1Click(Sender: TObject);
    var
    ovNeu,ovDot,ovMachWas,ovTextmarke :OleVariant;
    begin
    ovNeu := false;
    ovDot := 'DelphiTest.dot';
    word2000.Connect;
    word2000.Visible := true;
    word2000.Documents.AddOld(ovDot,ovNeu);

    ovTextmarke := 'tmNachname';
    ovMachWas := OleVariant(wdGoToBookmark);
    Word2000.Selection.GoTo_(ovMachWas, EmptyParam, EmptyParam, ovTextmarke);
    Word2000.Selection.TypeText('Mustermann');

    ovTextmarke := 'tmVorname';
    ovMachWas := OleVariant(wdGoToBookmark);
    Word2000.Selection.GoTo_(ovMachWas, EmptyParam, EmptyParam, ovTextmarke);
    Word2000.Selection.TypeText('Hugo');
    end;
    </PRE>

    Für Hilfe wäre ich sehr dankbar. Die Lösung das dot offen zu lassen wäre die schlechteste.
    PS an @Herrn Kosch: com/dcom/com+ liegt vor ;-)

    gruß, bernhard

  • #2
    Hab's selbst herausgefunden
    wie immer, ganz einfach

    <PRE>
    WordApplication1.Connect;
    new := false;
    sPathName := ExtractFilePath(Application.EXEName) + 'VOP_STD.dot';
    dot := sPathName;
    WordApplication1.Documents.AddOld(dot,new);

    Textmarke := 'Nachname';
    WordApplication1.ActiveDocument.FormFields.Item(Te xtmarke).Result := trim(Patient.Nachname);

    Gruß
    Bernhard
    </PRE&gt

    Comment

    Working...
    X