Zum Inhalt springen

Word per OCX ansteuern


Technician

Empfohlene Beiträge

Hallo,

kann mir hierbei jemand weiterhelfen, bzw. mir hierzu weitere Infos liefern:

Es existiert ein fertiges OCX-Control, mit dem sich WinWord "fernsteuern" lässt.

Dieses OCX-Control wird in ein Programm (nennen wir es mal XYZ) eingebaut, und jetzt lässt sich hiermit Word starten, es lassen sich Menüleisten in Word ausblenden, es kann ein Druckvorgang aus Word gestartet werden und nicht zuletzt lassen sich Daten aus dem Programm XYZ an Word schicken.

Nun meine Frage:

Unter welcher Programmiersprache kann dieses OCX entstanden sein?

VB bietet ja Möglichkeiten, auf Office-Programme zuzugreifen - wie aber sieht das mit anderen Programmiersprachen aus?

Und: Wie kann man "von außen" auf Word zugreifen, welche Schnittstellen hat Word "nach außen" (angenommen, ich möchte selbst ein derartiges OCX schreiben)?

Noch zur Info:

es handelt sich konkret um Word97 (müsste aber bei Word2000 ähnlich sein)

Grüße,

Technician

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Technician

Nun meine Frage:

Unter welcher Programmiersprache kann dieses OCX entstanden sein?

VB bietet ja Möglichkeiten, auf Office-Programme zuzugreifen - wie aber sieht das mit anderen Programmiersprachen aus?

Und: Wie kann man "von außen" auf Word zugreifen, welche Schnittstellen hat Word "nach außen" (angenommen, ich möchte selbst ein derartiges OCX schreiben)?

Grüße,

Technician

Moin,

also zu 1. das OCX kann unter welcher Sprache auch immer entstanden sein (spielt ja ansich keine Rolle)

Inwiefern meinst du das, dass VB Moeglichkeiten bietet auf Office-Programme zuzugreifen?

Was ist deiner Meinung nach "von aussen" ?...wenn du sagst VB bietet Möglichkeiten, dann ist das doch von aussen.

Angenommen du moechtest selbst so ein OCX machen, dann laesst sich das doch ganz gut ueber OLE Automation von Word machen.

Goos

Link zu diesem Kommentar
Auf anderen Seiten teilen

Meinem "Vorschreiber" zustimmend: die OCX kann egal in welcher Programmiersprache gemacht sein.

Ausserdem, auch schon gesagt, wäre es am einfachsten, wenn Du Word dann per OLE-Automation ansteuerst, als Word.Application.

Dann ksnnt Du per VBA (Visual Basic for Applications) auf Word rauf zugreifen... such einfach mal nach Office Automation im Internet, da findet sich einiges! ;-)

Gruss,

der Onkel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

Original geschrieben von Goos

also zu 1. das OCX kann unter welcher Sprache auch immer entstanden sein (spielt ja ansich keine Rolle)

mir ist schon klar, dass man unter diversen Programmiersprachen OCX-Steuerelemente schreiben kann.

Allerdings: ...

Original geschrieben von Goos

Inwiefern meinst du das, dass VB Moeglichkeiten bietet auf Office-Programme zuzugreifen?

Was ist deiner Meinung nach "von aussen" ?...wenn du sagst VB bietet Möglichkeiten, dann ist das doch von aussen.

wie leicht (oder schwer) ist es, z.B. von C++ aus Word "fernzusteuern"?

Nach dem Motto: "Word, jetzt öffne mal ein Dokument, schreibe diese Daten rein, blende mir dann diese und jene Menüs aus, und drucke dann das Dokument?"

VB aber bietet gute Möglichkeiten, die Office-Programme "fernzusteuern".

Kleines Codebeispiel:


CreateObject-Funktion (Beispiel)

In diesem Beispiel wird die CreateObject-Funktion verwendet, um einen Verweis 

(xlApp) auf Microsoft Excel zu setzen. In dem Beispiel wird der Verweis verwendet, 

um auf die Visible-Eigenschaft von Microsoft Excel zuzugreifen, und anschließend 

wird Microsoft Excel mit seiner Quit-Methode beendet. Schließlich wird der Verweis 

selbst wieder freigegeben.



Dim xlAnw As Object   ' Variable für Verweis deklarieren.


Set xlAnw = CreateObject("excel.application")

   ' Sie müssen die Visible-Eigenschaft auf True

   ' setzen, wenn die Anwendung angezeigt werden soll.

xlAnw.Visible = True

   ' Greifen sie auf die anderen Objekte von 

   ' Microsoft Excel mit xlAnw zu.

xlAnw.Quit   ' Wenn Sie fertig sind, beenden Sie die

            ' Anwendung mit der Quit-Methode, und geben Sie

Set xlAnw = Nothing   ' dann den Verweis frei.


kann man sowas auch mit anderen Programmiersprachen als VB machen?

Gruß,

Technician

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Technician

Kleines Codebeispiel:



CreateObject-Funktion (Beispiel)

In diesem Beispiel wird die CreateObject-Funktion verwendet, um einen Verweis 

(xlApp) auf Microsoft Excel zu setzen. In dem Beispiel wird der Verweis verwendet, 

um auf die Visible-Eigenschaft von Microsoft Excel zuzugreifen, und anschließend 

wird Microsoft Excel mit seiner Quit-Methode beendet. Schließlich wird der Verweis 

selbst wieder freigegeben.



Dim xlAnw As Object   ' Variable für Verweis deklarieren.


Set xlAnw = CreateObject("excel.application")

   ' Sie müssen die Visible-Eigenschaft auf True

   ' setzen, wenn die Anwendung angezeigt werden soll.

xlAnw.Visible = True

   ' Greifen sie auf die anderen Objekte von 

   ' Microsoft Excel mit xlAnw zu.

xlAnw.Quit   ' Wenn Sie fertig sind, beenden Sie die

            ' Anwendung mit der Quit-Methode, und geben Sie

Set xlAnw = Nothing   ' dann den Verweis frei.


kann man sowas auch mit anderen Programmiersprachen als VB machen?

Gruß,

Technician

Huhu,

also wenn du das nun mit VC machst, dann bleibt der Code ansich so gut wie gleich.

Wird halt n bissl C Syntax reingebracht, aber das Word Objektmodell bleibt logischerweise das gleiche.

Fuer die genaue Vorgehensweise such mal in der MSDN nach

"Automating Microsoft Office 97 and Microsoft Office 2000 Lori Turner"

....viel Erfolg :)

Goos

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Goos

Huhu,

also wenn du das nun mit VC machst, dann bleibt der Code ansich so gut wie gleich.

Wird halt n bissl C Syntax reingebracht, aber das Word Objektmodell bleibt logischerweise das gleiche.

Fuer die genaue Vorgehensweise such mal in der MSDN nach

"Automating Microsoft Office 97 and Microsoft Office 2000 Lori Turner"

....viel Erfolg :)

Goos

Vielen Dank :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...