AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriffe auf MS Word

Ein Thema von Mysterio08 · begonnen am 16. Mai 2010 · letzter Beitrag vom 22. Mai 2010
Antwort Antwort
Seite 2 von 2     12   
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Zugriffe auf MS Word

  Alt 17. Mai 2010, 06:59
Diese Elemente werden ja von Word verwaltet. Du brauchst dich um deren Freigabe also nicht kümmern
Markus Kinzler
  Mit Zitat antworten Zitat
Mysterio08

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

Re: Zugriffe auf MS Word

  Alt 17. Mai 2010, 07:12
Zitat von mkinzler:
Diese Elemente werden ja von Word verwaltet. Du brauchst dich um deren Freigabe also nicht kümmern
Das ist mir klar, mit der Frage nach dem Free ein paar Posts zuvor habe ich eine Variable vom Typ TWordApplication gemeint, die ich im OnCreate-Ereignis mit Word := TWordApplication.Create(Self) erstellt (wenn ich deine Aussage im richtigen Kontext verstanden habe).

Aber mir geht es jetzt um den Zugriff auf die ActiveX-Steuerelemente, was ich nicht hinbekomme.
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#13

Re: Zugriffe auf MS Word

  Alt 17. Mai 2010, 09:00
Zitat:
habe ich eine Variable vom Typ TWordApplication gemeint
Geanu. Alles, was Du mit Create erstellst, musst Du selbst wieder freigeben. TWordApplication ist ein Delphi Wrapperklasse, die den Zugriff auf Word vereinfacht. Derartige Objekte müssen am Ende wieder freigegeben werden. Wenn Du direkt auf die COM Schnittstelle zugreift, ist das nicht nötig.


Zitat:
um den Zugriff auf die ActiveX-Steuerelemente
Ich muss zugeben, dass ich noch nicht versucht haben, die Word Automatisierung auf diese Art zu verwenden. Wenn der Anwender an vordefinierten Stellen des Dokuments Eingaben machen soll, dann lasse ich ihn die direkt in meinem Delphi Programm machen, und verwende in Word bloss Textmarken, zu denen ich springe und die Daten dort in das Dokument einfliessen lasse. Ich glaube, dass ich damit eine bessere Kontrolle über das Geschehen habe, als wenn die Benutzereingaben auf active-X Elemente von Word ausgelagert werden.

Die active-X Komponenten von Word sind doch eher dafür gedacht, Automatisierung in ein Word Dokument einzubauen, das direkt aufgerufen wird? Wenn Du die Wordapplikation ohnehin über ein externes Programm steuerst, kompliziert es die Sache eigentlich nur.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#14

Re: Zugriffe auf MS Word

  Alt 17. Mai 2010, 12:43
Zitat von Mysterio08:
Beispielsweise habe ich in der Kopfzeile ein Feld, das ich mit dem aktuellen Datum füllen will, welches von Delphi ermittelt und in einer Variable gespeichert wurde - klar muss ich für diesen Fall nicht extra ein Steuerelement benutzen, aber es ist ja nicht ausgeschlossen.
Dafür verwendest Du, wie Idefix2 es vorgeschlagen hat bookmarks.
Zitat von Mysterio08:
.... Nun habe ich im "Objektinspektor" von VBA die Name-Eigenschaft geändert und versucht, mit der oben genannten Funktion auf das AcitveX-Steuerelement zuzugreifen, das hat aber nicht funktioniert.

Wie muss der Code lauten?
Du solltest so vorgehen, daß Du zunächst ein Wordmakro schreibst, das alles das kann was du erreichen willst.
Das must du "nur" noch in der Syntax so anpassen, daß Delphi das auf Word loslassen kann.

Und was mit dem Wordmakro nicht geht, das kannst Du durch die Delphi-Hintertür auch nicht erreichen.
(Abgesehen von Berechnungen etc. )

Gruß
K-H

@idefix2
Zitat:
Die active-X Komponenten von Word sind doch eher dafür gedacht, Automatisierung in ein Word Dokument einzubauen, das direkt aufgerufen wird? Wenn Du die Wordapplikation ohnehin über ein externes Programm steuerst, kompliziert es die Sache eigentlich nur.
Es gibt ja auch die Möglichkeit einer "Standardschnittstelle", die keine Möglichkeit hat Benutzerdialoge aufzubauen, da ist AktiveX wohl vonnöten.
Oder die Generierung eines Formulars....
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Mysterio08

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

Re: Zugriffe auf MS Word

  Alt 22. Mai 2010, 16:04
Danke erstmal für die ganzen hilfreichen Antworten. Ich kann mich jetzt erst melden, weil ich für ein paar Tage nicht dar war.

Gut, dann werde ich das mit den ActiveX-Elementen erstmal seinlassen; idefix2 hat im Post #13 von Textmarken als Alternative gesprochen - ist das, was in diesem Tutorial unter Datenübergabe zu finden ist?

Ansonsten würde ich mich über weitere Tutorial-Vorschläge freuen, damit ich praktisch ein wenig weiterkomme.
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#16

Re: Zugriffe auf MS Word

  Alt 22. Mai 2010, 18:13
Nein, das steuert offenbar die Mailmerge Funktion von Word an.
Ich glaube wirklich, dass die Ansteuerung von Textmarken das allereinfachste ist, um mit Hilfe von Word Texte automatisch zu produzieren:

Delphi-Quellcode:
procedure PrintStringAtBookmark (bookmark, text: string);
var oleparam: olevariant;
begin
 oleparam := bookmark;
 WordDoc.Bookmarks.item(oleparam).select;
 WordApp.Selection.TypeText (text);
end;
Je nach Bedarf noch ein Exception handling einbauen, wenn es das Bookmark nicht gibt
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz