Laden...

Microsoft Office Object Library - Späte Bindung

Erstellt von astra vor 11 Jahren Letzter Beitrag vor 11 Jahren 2.071 Views
A
astra Themenstarter:in
101 Beiträge seit 2004
vor 11 Jahren
Microsoft Office Object Library - Späte Bindung

Hallo,

ich möchte ein Add-In-Object über die Application.ComAddIns-Sammlung aufrufen. Dieses Add-In-Object ist vom Typ Object. Ich habe mit der bisherigen Hilfe leider nichts anfangen können und benötige ein paar Code-Beispiele, wie ich dieses Add-In-Object binde und verwende. Ich nutze die Microsoft Office Object Library 12.0.

Danke und Gruß

1.696 Beiträge seit 2006
vor 11 Jahren

Hallo,

wenn du mit dem Stichwort "late binding" auf die Suche im Forum begibst, wirst du viele Topics als Suchergebnis erhalten, vielleicht könnten sie dir schon helfen.

Grüße

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

Gelöschter Account
vor 11 Jahren

Willst du das Addin Object oder das Addin.Object ?

A
astra Themenstarter:in
101 Beiträge seit 2004
vor 11 Jahren

Also hier mal ein Beispiel in Visual Basic for Applications welches man wohl einfach in C# übertragen können soll:

Dim qayxsw As Object
Set qayxsw = _
    Application.COMAddIns("bestwin.addin").Object
Gelöschter Account
vor 11 Jahren

Also das Addin.Object. Und wo genau liegt jetzt dein Problem? Das kannst du doch mit C# praktisch genau so machen.

A
astra Themenstarter:in
101 Beiträge seit 2004
vor 11 Jahren

Könntest Du mir mal ein kurzes Bsp erstellen? Muss ich z.B. noch etwas includen usw.? Ich bekomm den Code nicht in C# übersetzt.

Gelöschter Account
vor 11 Jahren

Hmm also wenn du da schon Probleme hast wirds schwer. Welche Office Anwendung hier das Ziel ist kann ich aus dem Posting leider nicht erkennen aber das spielt keine Rolle da es überall gleich ist. Excel Beispiel:

Excel.Application application = new Excel.Application();
// achtung: ist kein COMAddin geladen ist die Collection nicht initialisiert und wirft beim Zugriff eine Exception
foreach(Office.COMAddin item in application.COMAddins)
{
    var object = item.Object;
}


// alternativ
var object = application.COMAddins[1].Object;

Welche Bibliotheken du einbinden und welche usings du verwenden musst hängt davon ab welche API du verwendest. Für die Primary Interop Assemblies wäre es z.B. typischwerweise Microsoft.Office.Interop.Excel

3.728 Beiträge seit 2005
vor 11 Jahren
NetOffice

Hallo astra,

das NetOffice-Projekt könnte für Dich interessant sein: http://netoffice.codeplex.com/

Gruß
Rainbird