![]() |
Steuern von Textfeldern in Word
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo !
Ich verzweifele gerade an der Aufgabe, ein Word2000 Steuerelemnt abzufragen. In Word habe ich ein Formular gebastelt, welches zwei Textboxen besitzt. Diese möchte ich nun von meiner Delphi Anwendung aus abfragen, bzw. einen neuen Text einsetzen.
Delphi-Quellcode:
In meinem Memofeld für Testausgaben werden zwar zwei Elemte angezeigt, aber nicht der jeweilige Inhalt aus dem Worddokument.
...
MyWordApp.Connect; MyWordApp.Visible := True; MyWordApp.Caption := 'Auflastberechnung nach DIN 1055'; AFile := 'C:\Vorlage_Ausfüllen.doc'; MyWordDoc.ConnectTo(MyWordApp.Documents.Open(AFile, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam ,EmptyParam ,EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam)); ... Memo1.Lines.Clear; Memo1.Lines.Add('DokumentName: ' + MyWordDoc.Name); for I := 1 to MyWordDoc.Fields.Count do Begin Iole := I; MyWordDoc.Fields.Item(Iole).Select; Memo1.Lines.Add(IntToStr(I) + ': ' + MyWordDoc.Fields.Item(Iole).Result.Text); End; Was mache ich da falsch ? |
Re: Steuern von Textfeldern in Word
|
Re: Steuern von Textfeldern in Word
Hallo
also richtig erklären kann ich nicht, aber die Textfelder, die du eingefügt hast, sind ja Steuerelemente und nix Word-Eigenes wie z.B. ein Textformularfeld. Mit den Dingern habe ich noch nix gemacht. Da kommst du scheinbar nicht auf diesem Weg an den Text ran, siehst du auch, wenn Du dir ein Makro aufzeichnest: geht a) nicht richtig und b) auch beim neu erzeugten Textbox-feld läßt sich per Makro nicht der Text ändern. per google habe ich folgendes gefunden: ![]() wenn du das in Delphi umsetzt, kommt sowas raus:
Delphi-Quellcode:
dann steht im Memo:
var mytextbox:olevariant;
... for I := 1 to WordDocument1.InlineShapes.Count do Begin Iole := I; ishp:=WordDocument1.InlineShapes.item(iole); if ishp.type_= wdInlineShapeOLEControlObject then if iShp.OLEFormat.ClassType = 'Forms.TextBox.1' Then begin mytextbox:=iShp.OLEFormat.Object_; Memo1.Lines.Add(IntToStr(I) + ' Name: '+mytextbox.name+', Text:'+mytextbox.text); end; end; Zitat:
Gruß Frank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz