Mit VB 2010 MS Word 2007 öffnen

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von voloal.

    Mit VB 2010 MS Word 2007 öffnen

    Hallo,

    ich beschäftige mich seit längerem mit Visual Basic und hab nun ein Problem, dass ich einfach nicht in den Griff bekomme.

    Ich möchte mit meiner Anwendung MS Word öffnen, ein Dokument laden und die darin enthaltenen Formularfelder automatisch füllen lassen.

    Leider scheitere ich bereits am öffnen von Word. Ich habe diesbezüglich das internet schon ausreichend durchforstet, aber leider nichts brauchbares gefunden.

    Mein Code wäre...

    Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. Dim wort As New Microsoft.Office.Interop.Word.Application
    4. wort.Activate()
    5. End Sub
    6. End Class


    Ich bekomme immer folgenden Fehler;

    COMException wurde nicht behandelt - Anwendung kann nicht aktiviert werden (Fehlercode:-2146823687)


    Wäre echt spitze wenn mir jemand helfen könnte.

    Ich benutze:
    VB 2010 Ultimate
    Office 2007
    Windows 7 Professional

    PS: Programme sind legal erworben (Student :D )
    Vielen Dank für die schnelle Hilfe.

    Das mit process.start kanne ich schon.

    Damit kann ich zwar Word korrekt starten, aber ich kann nicht über mein Programm auf Word zugreifen.


    Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim wort As New Microsoft.Office.Interop.Word.Application
    3. wort.Activate()
    4. End Sub


    Das Problem hier ist, wie ich gerade entdeckt habe, dass MS Word zwar as Prozess geladen wird, ich den Prozess aber aktivieren muss, damit ich die Word-Benutzeroberfläche sehen kann. Und genau das geht nicht...

    Versteh das nur einfach nicht. Was hab ich da nur vergessen?!?
    Wenn es dir darum geht, die Word-Oberfläche zu bekommen, dann versuche es mal so.

    VB.NET-Quellcode

    1. Dim oWord As Object
    2. Dim oDoc As Object
    3. oWord = CreateObject("Word.Application")
    4. oWord.Visible = True
    5. 'als Beispiel
    6. oDoc = oWord.Documents.Add


    Am unteren Ende dieser Site gibt es einige verwandte Links zu diesem Thema. So habe z.B ich die Antwort gefunden...
    Hi! Das war ein Beispiel, um dem Fragesteller zu helfen. Es bringt das Ergebnis, dass Word gestartet wird. Außerdem konnte ich damit noch bequem einen Text einfügen.
    Sorry, aber ich habe keinen Bock, mir in jedem Thread diesselbe Diskussion anzutun (... ist besser, ... ist schöner). Dazu habe ich nebenbei zuviel zu tun.

    Wenn es mit dem heiligen Office-Namespace besser funktioniert als mit der COM-Variante, dann poste doch bitte ein schönes Beispiel. Damit ist uns allen geholfen.

    LG, der_Kurt
    hi,

    ich weiß jetzt nicht was ich da sagen soll, ich weiß jetzt auch nicht wirklich, ob ich mich dafür Entschuldigen soll, da es nicht als Angriff oder ähnliches gedacht war.
    msdn.microsoft.com/de-de/libra…64018%28office.10%29.aspx
    Hier ist es meiner Meinung nach sehr ausführlich. Dem Fragesteller wird dies sicherlich auhc weiterhelfen, da dort IntelliSense vollständig unterstützt wird ;)

    Falls du dich in irgendwelcher Hinsicht trotzdem angegriffen fühlen solltest, entschuldige ich mich Vorsichtshalber doch einmal dafür:
    Entschuldigung ;)

    Mfg jvbsl
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Also mit Office.Interop.Word wird bei mir zwar Word als Prozess geladen, lässt sich aber einfach nicht aktivieren. Immer wieder obiger Fehler...

    Wäre toll, wenn hier jemand ein kurzes Code-Beispiel mit Interop posten könnte, welches funktionieren muss.



    Vielen Dank schon mal :)
    ich scätze mal, dass du dieses erst Sichtbar machen musst, ich glaube es gibt eine Visible Eigenschaft, welche du nur auf True setzen musst(bevor du aktivierst...)
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---