Laden...

[Solved] Office Installation benötigt oder reicht PIA?

Erstellt von tikra vor 13 Jahren Letzter Beitrag vor 13 Jahren 676 Views
tikra Themenstarter:in
185 Beiträge seit 2007
vor 13 Jahren
[Solved] Office Installation benötigt oder reicht PIA?

Hallo,

eine kurze und knackige Frage:

Ich möchte Microsoft.Office.Interop.Word benutzen, die dll wurde mit kopiert, jedoch bekomme ich die folgende Fehlermeldung (auf einem Server):

Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046}
failed due to the following error: 80040154.

Muss ich Office, bzw. Word installieren oder reicht es, wenn ich die Primary Interop Assemblies installiere?

Oder ist Microsoft.Office.Interop.Word ein BESTANDTEIL der Primary Interop Assemblies? Ich vermute schon, d.h. die dll stellt nur die Schnittstelle zu Office/Word dar und ich muss Word noch nachinstallieren?!

Danke schon einmal!

G
22 Beiträge seit 2009
vor 13 Jahren

Meines Wissens brauchst du die jeweilige Office-Version dafür.

Gruß Gabe

Edit: Sorry, war grad zu schnell, mit den PIAs bin ich nicht sicher
Edit: Kurz ausprobiert, geht nicht mit den PIAs. Brauchst demnach die richtige Office/Word-Version.

t
64 Beiträge seit 2005
vor 13 Jahren

ja du brauchst die passende Office-Veriosn! PIA stellt dir nur eine Schnittstelle zur Verfügung!

tikra Themenstarter:in
185 Beiträge seit 2007
vor 13 Jahren

Dankeschön.

Denke es funktioniert soweit.

Auf diesem Wege aber noch eine weiterführende Frage:

                ApplicationClass WordApp = new ApplicationClass();

                object _wdLine = Microsoft.Office.Interop.Word.WdUnits.wdLine;
                object _wdCharacter = Microsoft.Office.Interop.Word.WdUnits.wdCharacter;
                object _wdExtend = Microsoft.Office.Interop.Word.WdMovementType.wdExtend;

                object oMissingValue = System.Reflection.Missing.Value;
                object oCount;

                object oFileName = @"Test.doc";
                object oDestFileName = FileName;
                object oNewTemplate = false;
                object oDocumentType = 0;
                object oVisible = true;
                object oBool = true;

                Document _Document = WordApp.Documents.Add(ref oFileName, ref oNewTemplate, ref oDocumentType, ref oVisible);

                oCount = 1;
                WordApp.Selection.MoveDown(ref _wdLine, ref oCount, ref oMissingValue);

                [...]

Es knallt in der letzten Zeile, mit an Sicherheit grenzender Wahrscheinlichkeit aufgrund des oCount's, dies ist die Fehlermeldung:

Object reference not set to an instance of an object.

Leider ist es KORREKT (!), hierran angelehnt:

http://msdn.microsoft.com/de-de/library/aa288631%28VS.71%29.aspx (Strg+F: "count = 1;")

Lokal funktioniert es auch, auf der Servermaschine spuckt er obigen Fehler aus, hat jemand eine Idee?

*Stop, sorry, es lag am nicht gemappten Netzlaufwerk, hatte ich außer acht gelassen. :*