Benutzer mit den meisten Antworten
VB.Net Programm aus Word aufrufen

Frage
-
Hallo,
ich habe ein VB.Net Programm erstellt. Ich rufe damit Word (2007) auf, erzeuge ein Dokument. Nun nehme ich Änderungen im Dokument vor.
Jetzt möchte ich das Dokument über mein Programm speichern. Dazu möcht in in Word auf einen Button klicken und hier möchte ich eine Funktion aus meinem Programm aufrufen. Leider habe ich bisher keine Informationen dazu gefunden. Kann mir jemand hier weiterhelfen ?
Vielen Dank
MORITZ-IT
- Bearbeitet Robert BreitenhoferModerator Montag, 6. September 2010 07:16 Titel war: ...PRogramm ...
Antworten
-
Hallo,
ich habe ein VB.Net Programmerstellt. Ich rufe damit Word(2007) auf, erzeuge ein Dokument. Nun nehme ich Änderungen im Dokument vor.
Jetzt möchte ich das Dokument über mein Programm speichern. Dazu möcht in in Word auf einen Button klicken und hier möchte ich eine Funktion aus meinem Programm aufrufen. Leider habe ich bisher keine Informationen dazu gefunden. Kann mir jemand hier weiterhelfen ?
wenn Du das Dokument bereits über die Word Automatisierung (Verwendung der Interop Assemblies) erstellst, kannst Du auf das DocumentBeforeSave Ereignis reagieren. Hierfür brauchst Du dann keinen speziellen Button, sondern das Ereignis wird automatisch ausgelöst, wenn der Anwender auf die Speichern (unter) Schaltfläche in seiner Word Anwendung klickt. Das ist normalerweise auch nichts, was den Anwender verägern würde. :-)
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de- Als Antwort vorgeschlagen Robert BreitenhoferModerator Montag, 6. September 2010 07:29
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 8. September 2010 09:36
Alle Antworten
-
Hallo,
verstehe ich das richtig, dass du eine vorhandenes Word-Control nehmen möchtest und diesem Control eine andere Funktion zuweisen möchtest? Word soll also nicht mehr das tun, wozu Word programmiert wurde? Wenn es das ist, denke ich, wären die Macher von Word ebenso erbost wie der Nutzter der nicht deine sondern die Original-Word Funktion nutzen möchte.
Wenn die Frage anders gemeint war, nömlich nur eine Tastenkombination von Word nutzen, dann ist unter Umständen die SendKey-Methode dein Freund. Hierbei musst du aber dafür Sorge tragen, dass dein Programm den Focus tatsächlich hat.
Solche Sachen wie es ANbeiter von Vierenscanern etc. machen, dass in Word ein eigenes Icon auftaucht ist ein eigenes Gebiet. Da würde ich dir das passende Forum
http://social.msdn.microsoft.com/Forums/de-DE/officede/threads
anraten.
Liebe Grüße Stefan -
Hallo Stefan,
verstehe ich das richtig, dass du eine vorhandenes Word-Control nehmen möchtest und diesem Control eine andere Funktion zuweisen möchtest? Word soll also nicht mehr das tun, wozu Word programmiert wurde? Wenn es das ist, denke ich, wären die Macher von Word ebenso erbost wie der Nutzter der nicht deine sondern die Original-Word Funktion nutzen möchte.
heute mit dem falschen Fuß aufgestanden oder zu lange wach?
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de -
Hallo,
ich habe ein VB.Net Programmerstellt. Ich rufe damit Word(2007) auf, erzeuge ein Dokument. Nun nehme ich Änderungen im Dokument vor.
Jetzt möchte ich das Dokument über mein Programm speichern. Dazu möcht in in Word auf einen Button klicken und hier möchte ich eine Funktion aus meinem Programm aufrufen. Leider habe ich bisher keine Informationen dazu gefunden. Kann mir jemand hier weiterhelfen ?
wenn Du das Dokument bereits über die Word Automatisierung (Verwendung der Interop Assemblies) erstellst, kannst Du auf das DocumentBeforeSave Ereignis reagieren. Hierfür brauchst Du dann keinen speziellen Button, sondern das Ereignis wird automatisch ausgelöst, wenn der Anwender auf die Speichern (unter) Schaltfläche in seiner Word Anwendung klickt. Das ist normalerweise auch nichts, was den Anwender verägern würde. :-)
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de- Als Antwort vorgeschlagen Robert BreitenhoferModerator Montag, 6. September 2010 07:29
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 8. September 2010 09:36
-
HAllo und Vielen Dank,
leider nein, aber vielleicht habe ich mich falsch ausgedrückt.
Mit VB 6 hatte ich das Problem bereits gelöst. In meinem Programm hatte ich eine Klasse mit (Instancing = MultiUse). Diese Klasse hatte nur eine Funktion, die aus Word durch ein Makro aufgerufen wurde. Dabei habe ich das Wordobject , den Dateiname und ein Boolwert übergeben.
Nochmal zum Ablauf: In meinem Programm öffne ich ein Worddokument und fülle dies mit Daten aus meiner Datenbank. Nachdem Word im Vordergrund ist, kann der Anwender den Text ändern oder vervollständigen. Bei der Erstellung des Dokumentes vergebe ich einen Dateinamen der beinhaltet eine Kundennummer. Der Anwender hat nun 2 Möglichkeiten. 1. Er will nach dem Druck das Dokument nicht behalten, dann klickt er auf einen Button und löscht das Dokument im TEMP Verzeichnis ! ( Kein Problem für mich !)
2. Das Dokumnet soll gespeichert werden. Dabei wird es nicht auf der HDD gespeichert sondern in einer SQL-Datenbank. Normal unter Word kein Problem ABER der Anwender kann jetzt noch weitere Informationen zu dem Dokument im Datensatz des SQL speichern.
Deswegen muß ich von Word aus mein Programm erreichen. Denn dadurch und durch die Kundennummer kann ich die Daten holen und weiter verarbeiten.
Was mir fehlt ist der Anstoss für mein Programm in VB.Net. So eine Klasse wie unter VB6 oder wie stelle ich das an. Ich stehe hier auf dem Schlauch.
Vielleicht hat hier jemand eine Antwort für mich
Vielen Dank
MORITZ-IT