Classe COM in .NET da usare in Office

venerdì 22 febbraio 2008 - 17.00

NooS Profilo | Newbie

Salve a tutti.
Io ho sviluppato una classe in VB.NET di tipo COM, seguendo tutta la procedura elencata in MSDN di Visual Studio 2005.
Compilo il progetto e tutto va a buon fine.
Ora devo fare in modo che Microsoft Office 2003 la veda.
Le vecchie ActiveX bastava registrarle ed erano disponibili, se cerco di registrare questa DLL con regsvr32 mi dice che non trova il punto di ingresso DllRegisterServer.

Prima di scrivere qui ho sondato parecchi siti web e questo è quanto finora ho fatto nel dettaglio per arrivare alla mia situazione attuale, in cui comunque non riesco ad agganciare la dll da codice VBA di Excel:

In Visual studio ho creato un progetto Libreria di classi
All'interno ho aggiunto una classe COM
Su questa classe ho aggiunto i miei metodi Public, i Private e delle proprietà.
Ho compilato il progetto ed ottenuto una dll
Se faccio il solito regsvr32 non si riesce a registrare.
Quindi ho provato a metterlo nel GAC
Con il comando sn -k c:\file.snk ho creato le chiavi
Ho aggiunto la riga <Assembly: AssemblyKeyFile("c:\file.snk")> nel file AssemblyInfo.vb del progetto
La riga <Assembly: AssemblyVersion("1.0.0.0")> è già così di suo
Ho ricompilato il tutto
Provando con regsvr32 mi da sempre il solito errore.
Non ho provato il comando regasm /codebase perché tanto non sarebbe disponibile ad un client dopo la distribuzione della DLL e quindi non me ne fare i niente anche se andasse a buon fine
Trascinando la DLL nella cartella Assembly di WINDOWS riesce ad installarlo
Ciò nonostante a me servirebbe qualcosa che lo facesse in automatico in fase di installazione della libreria.

Comunque penso che almeno questa parte, in fase di debug, possa considerarsi conclusa.

Ora se da VBA cerco di richiamarla come le vecchie ActiveX con la riga Set Cs = CreateObject("MyDLL.MyClass") mi segnala il componente mancante.

Come posso fare per risolvere questo problema?
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5