Avatar billede l00t Nybegynder
25. juni 2007 - 16:02

Outlook 2003 add-in med .NET - fungerer kun med late binding

Hej,

Jeg er ved at skrive en add-in til Outlook med VB.NET i Visual Studio 2005. Jeg laver et projekt af typen "Other Project Types" -> "Extensibility" -> "Shared Add-in". Det er et projekt af denne type (og ikke "Visual Basic" -> "Office" -> "Outlook Add-in") fordi det skal være kompatibelt med Outlook 2003 standard, og ikke kun Professional versionen.

Jeg skal lave flere ting i add-in'en, men jeg har problemer allerede med at f.eks. tilføje en knap til Outlooks menuer.

Jeg implementerer interfacet "Extensibility.IDTExtensibility2" og de metoder som er defineret deri. Faktisk har jeg fulgt denne Microsoft-artikel ganske nøje så vidt jeg kan se: http://support.microsoft.com/kb/302896

Selve referencen til Office og dermed Outlook sker gennem referencen til "Interop.Office.dll", en wrapper til Office's kodebibliotek som bliver automatisk genereret af VS2005.

Når add-in'en er installeret, bliver metoden OnStartupComplete() kørt, og heri er det at min første kode afvikles.

Nu til selve problemet: add-in'en loader simpelthen ikke, straks at jeg refererer Office-namespacet.

I metoden OnStartUpComplete() skriver jeg disse to linier kode:

Dim menuBarName As String = "Menu Bar"
'Dim commandbar As Microsoft.Office.Core.CommandBar = Nothing

Det fungerer fint. Men det sekund at jeg fjerner ' foran 2. linie så den ikke er kommenteret ud, loader add-in'en simpelthen ikke!
Jeg har testet det ved at lave en messagebox popup lige efter disse to linier kode. Er 2. linie kommenteret ud, virker det. Er den ikke, fejler det. Det er i øvrigt lige meget hvilken klasse eller interface jeg refererer fra Microsoft.Office.Core namespacet - det fejler når jeg gør det.

Min løsning indtil nu har været at arbejde med alt untyped, dvs. som typen "object" og bruge late binding - men det er komplet umuligt at fortsætte untyped med "object" når jeg skal håndtere events.

Forslag og idéer modtages med kyshånd. Jeg har simpelthen brug for at finde ud af hvorfor jeg ikke kan referere noget som helst i Microsoft.Office.* uden at min add-in går i smadder.

Det skal tilføjes at add-in'en sagtens kører på min egen maskine, men fejlen opstår når jeg installerer den på en hvilken som helst anden maskine, uanset om det er Outlook 2003 standard eller professionel.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester