2008-08-14 14 views
5

Pracuję nad kodem do wklejenia do aktualnie aktywnego dokumentu OpenOffice bezpośrednio z C#. Nie mogę uwzględnić żadnej z bibliotek OpenOffice, ponieważ nie chcemy ich pakować, więc używamy refleksji, aby uzyskać dostęp do OpenOffice API.Używanie C# z OpenOffice poprzez odbicie

Moje pytanie dotyczy korzystania z dyspozytora poprzez odbicie. Nie mogę znaleźć prawidłowych parametrów, które można do niego przekazać, co da mi uroczą "Unikalność Celu" z powodu niedopasowanych typów.

object objframe = GetProperty<object>(objcontroller, "frame"); 
if (objframe != null) 
{ 
    object[] paramlist = new object[2] {".uno:Paste", objframe}; 
    InvokeMethod<object>(objdispatcher, "executeDispatch", paramlist); 
} 

Jak mogę to naprawić?

Odpowiedz

1

Czy to tylko ja lub twoje parametry są niewłaściwe? Czy masz odpowiednią liczbę parametrów? I może być brakuje czegoś, choć, więc przepraszam jeśli już sprawdzone te rzeczy:

Dokumentacja mówi:

dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array()) 

co wskazywałoby mi się, że trzeba mieć lista parametr zdefiniowany jako

object[] paramlist = new object[5] {objframe, ".uno:Paste", "", 0, null}; 
Powiązane problemy