comment faire avec VB NET une DLL exploitable par vba ?
4 réponses
Louis
Bonjour,
Je travaille avec .NET 2003.
Je cherche à construire une dll dans cet environnement qui puisse ensuite
être exploitable par des macros word VBA et je n'y arrive pas. (Pas de souci
pour que ma dll soit exploitable par un autre projet VB NET)
Quelqu'un peut-il me donner les étapes ou m'indiquer une documentation ?
Merci d'avance.
Louis
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Julien Bakmezdjian [MS]
Bonjour,
Il faut exposer votre DLL .NET en tant que composant COM qui sera alors exploitable en VBA. La commande "regasm" est la clé de voûte de ce système. En recherchante regasm, VB.NET et VBA dans un moteur de recherche Web, vous devriez trouver votre bonheur...
Cordialement,
Julien Bakmezdjian
"Louis" wrote in message news:44c71ad5$0$19027$
Bonjour, Je travaille avec .NET 2003. Je cherche à construire une dll dans cet environnement qui puisse ensuite être exploitable par des macros word VBA et je n'y arrive pas. (Pas de souci pour que ma dll soit exploitable par un autre projet VB NET) Quelqu'un peut-il me donner les étapes ou m'indiquer une documentation ? Merci d'avance. Louis
Bonjour,
Il faut exposer votre DLL .NET en tant que composant COM qui sera alors
exploitable en VBA.
La commande "regasm" est la clé de voûte de ce système. En recherchante
regasm, VB.NET et VBA dans un moteur de recherche Web, vous devriez trouver
votre bonheur...
Cordialement,
Julien Bakmezdjian
"Louis" <louis.lebrun@free.fr> wrote in message
news:44c71ad5$0$19027$626a54ce@news.free.fr...
Bonjour,
Je travaille avec .NET 2003.
Je cherche à construire une dll dans cet environnement qui puisse ensuite
être exploitable par des macros word VBA et je n'y arrive pas. (Pas de
souci pour que ma dll soit exploitable par un autre projet VB NET)
Quelqu'un peut-il me donner les étapes ou m'indiquer une documentation ?
Merci d'avance.
Louis
Il faut exposer votre DLL .NET en tant que composant COM qui sera alors exploitable en VBA. La commande "regasm" est la clé de voûte de ce système. En recherchante regasm, VB.NET et VBA dans un moteur de recherche Web, vous devriez trouver votre bonheur...
Cordialement,
Julien Bakmezdjian
"Louis" wrote in message news:44c71ad5$0$19027$
Bonjour, Je travaille avec .NET 2003. Je cherche à construire une dll dans cet environnement qui puisse ensuite être exploitable par des macros word VBA et je n'y arrive pas. (Pas de souci pour que ma dll soit exploitable par un autre projet VB NET) Quelqu'un peut-il me donner les étapes ou m'indiquer une documentation ? Merci d'avance. Louis
Louis
Merci pour votre réponse.
Suite à consultation à d'autres forum, j'ai coché dans Visual Studio, la case "Inscrire pour COM Interop" de la page de propriétés (configuration de la génération du projet).
Et je peux maintenant dans VBA référencer (Outils->Références...) le .tlb qui a été généré dans VS.
Néanmoins, avec le code ci-dessous dans VBA, j'obtiens le message :"Un composant ActiveX ne peut pas créer d'objet." Dim oo As Object Set oo = GetObject(, Class1)
Merci d'avance pour toute suggestion, Louis
"Julien Bakmezdjian [MS]" a écrit dans le message de news:
Bonjour,
Il faut exposer votre DLL .NET en tant que composant COM qui sera alors exploitable en VBA. La commande "regasm" est la clé de voûte de ce système. En recherchante regasm, VB.NET et VBA dans un moteur de recherche Web, vous devriez trouver votre bonheur...
Cordialement,
Julien Bakmezdjian
"Louis" wrote in message news:44c71ad5$0$19027$
Bonjour, Je travaille avec .NET 2003. Je cherche à construire une dll dans cet environnement qui puisse ensuite être exploitable par des macros word VBA et je n'y arrive pas. (Pas de souci pour que ma dll soit exploitable par un autre projet VB NET) Quelqu'un peut-il me donner les étapes ou m'indiquer une documentation ? Merci d'avance. Louis
Merci pour votre réponse.
Suite à consultation à d'autres forum, j'ai coché dans Visual Studio, la
case "Inscrire pour COM Interop" de la page de propriétés (configuration de
la génération du projet).
Et je peux maintenant dans VBA référencer (Outils->Références...) le .tlb
qui a été généré dans VS.
Néanmoins, avec le code ci-dessous dans VBA, j'obtiens le message :"Un
composant ActiveX ne peut pas créer d'objet."
Dim oo As Object
Set oo = GetObject(, Class1)
Merci d'avance pour toute suggestion,
Louis
"Julien Bakmezdjian [MS]" <julienba@online.microsoft.com> a écrit dans le
message de news: erEOtzIsGHA.240@TK2MSFTNGP02.phx.gbl...
Bonjour,
Il faut exposer votre DLL .NET en tant que composant COM qui sera alors
exploitable en VBA.
La commande "regasm" est la clé de voûte de ce système. En recherchante
regasm, VB.NET et VBA dans un moteur de recherche Web, vous devriez
trouver votre bonheur...
Cordialement,
Julien Bakmezdjian
"Louis" <louis.lebrun@free.fr> wrote in message
news:44c71ad5$0$19027$626a54ce@news.free.fr...
Bonjour,
Je travaille avec .NET 2003.
Je cherche à construire une dll dans cet environnement qui puisse ensuite
être exploitable par des macros word VBA et je n'y arrive pas. (Pas de
souci pour que ma dll soit exploitable par un autre projet VB NET)
Quelqu'un peut-il me donner les étapes ou m'indiquer une documentation ?
Merci d'avance.
Louis
Suite à consultation à d'autres forum, j'ai coché dans Visual Studio, la case "Inscrire pour COM Interop" de la page de propriétés (configuration de la génération du projet).
Et je peux maintenant dans VBA référencer (Outils->Références...) le .tlb qui a été généré dans VS.
Néanmoins, avec le code ci-dessous dans VBA, j'obtiens le message :"Un composant ActiveX ne peut pas créer d'objet." Dim oo As Object Set oo = GetObject(, Class1)
Merci d'avance pour toute suggestion, Louis
"Julien Bakmezdjian [MS]" a écrit dans le message de news:
Bonjour,
Il faut exposer votre DLL .NET en tant que composant COM qui sera alors exploitable en VBA. La commande "regasm" est la clé de voûte de ce système. En recherchante regasm, VB.NET et VBA dans un moteur de recherche Web, vous devriez trouver votre bonheur...
Cordialement,
Julien Bakmezdjian
"Louis" wrote in message news:44c71ad5$0$19027$
Bonjour, Je travaille avec .NET 2003. Je cherche à construire une dll dans cet environnement qui puisse ensuite être exploitable par des macros word VBA et je n'y arrive pas. (Pas de souci pour que ma dll soit exploitable par un autre projet VB NET) Quelqu'un peut-il me donner les étapes ou m'indiquer une documentation ? Merci d'avance. Louis
Patrice
Deux solutions :
1) Class1 devrait être entre guillemets je pense. J'utilise plutôt CreateObject (GetObject récupère un objet existant). Au besoin vérifier dans le registre que le progid est bon...
2) Si la TLB est référencée, faire un New de la classe est plus simple. Déclarer le type également plutôt que d'utiliser Object (sinon inutile de référencer la TLB)
-- Patrice
"Louis" a écrit dans le message de news: 44c765ce$0$18999$
Merci pour votre réponse.
Suite à consultation à d'autres forum, j'ai coché dans Visual Studio, la case "Inscrire pour COM Interop" de la page de propriétés (configuration de la génération du projet).
Et je peux maintenant dans VBA référencer (Outils->Références...) le .tlb qui a été généré dans VS.
Néanmoins, avec le code ci-dessous dans VBA, j'obtiens le message :"Un composant ActiveX ne peut pas créer d'objet." Dim oo As Object Set oo = GetObject(, Class1)
Merci d'avance pour toute suggestion, Louis
"Julien Bakmezdjian [MS]" a écrit dans le message de news:
Bonjour,
Il faut exposer votre DLL .NET en tant que composant COM qui sera alors exploitable en VBA. La commande "regasm" est la clé de voûte de ce système. En recherchante regasm, VB.NET et VBA dans un moteur de recherche Web, vous devriez trouver votre bonheur...
Cordialement,
Julien Bakmezdjian
"Louis" wrote in message news:44c71ad5$0$19027$
Bonjour, Je travaille avec .NET 2003. Je cherche à construire une dll dans cet environnement qui puisse ensuite être exploitable par des macros word VBA et je n'y arrive pas. (Pas de souci pour que ma dll soit exploitable par un autre projet VB NET) Quelqu'un peut-il me donner les étapes ou m'indiquer une documentation ? Merci d'avance. Louis
Deux solutions :
1) Class1 devrait être entre guillemets je pense. J'utilise plutôt
CreateObject (GetObject récupère un objet existant). Au besoin vérifier dans
le registre que le progid est bon...
2) Si la TLB est référencée, faire un New de la classe est plus simple.
Déclarer le type également plutôt que d'utiliser Object (sinon inutile de
référencer la TLB)
--
Patrice
"Louis" <louis.lebrun@free.fr> a écrit dans le message de news:
44c765ce$0$18999$626a54ce@news.free.fr...
Merci pour votre réponse.
Suite à consultation à d'autres forum, j'ai coché dans Visual Studio, la
case "Inscrire pour COM Interop" de la page de propriétés (configuration
de la génération du projet).
Et je peux maintenant dans VBA référencer (Outils->Références...) le .tlb
qui a été généré dans VS.
Néanmoins, avec le code ci-dessous dans VBA, j'obtiens le message :"Un
composant ActiveX ne peut pas créer d'objet."
Dim oo As Object
Set oo = GetObject(, Class1)
Merci d'avance pour toute suggestion,
Louis
"Julien Bakmezdjian [MS]" <julienba@online.microsoft.com> a écrit dans le
message de news: erEOtzIsGHA.240@TK2MSFTNGP02.phx.gbl...
Bonjour,
Il faut exposer votre DLL .NET en tant que composant COM qui sera alors
exploitable en VBA.
La commande "regasm" est la clé de voûte de ce système. En recherchante
regasm, VB.NET et VBA dans un moteur de recherche Web, vous devriez
trouver votre bonheur...
Cordialement,
Julien Bakmezdjian
"Louis" <louis.lebrun@free.fr> wrote in message
news:44c71ad5$0$19027$626a54ce@news.free.fr...
Bonjour,
Je travaille avec .NET 2003.
Je cherche à construire une dll dans cet environnement qui puisse
ensuite être exploitable par des macros word VBA et je n'y arrive pas.
(Pas de souci pour que ma dll soit exploitable par un autre projet VB
NET)
Quelqu'un peut-il me donner les étapes ou m'indiquer une documentation ?
Merci d'avance.
Louis
1) Class1 devrait être entre guillemets je pense. J'utilise plutôt CreateObject (GetObject récupère un objet existant). Au besoin vérifier dans le registre que le progid est bon...
2) Si la TLB est référencée, faire un New de la classe est plus simple. Déclarer le type également plutôt que d'utiliser Object (sinon inutile de référencer la TLB)
-- Patrice
"Louis" a écrit dans le message de news: 44c765ce$0$18999$
Merci pour votre réponse.
Suite à consultation à d'autres forum, j'ai coché dans Visual Studio, la case "Inscrire pour COM Interop" de la page de propriétés (configuration de la génération du projet).
Et je peux maintenant dans VBA référencer (Outils->Références...) le .tlb qui a été généré dans VS.
Néanmoins, avec le code ci-dessous dans VBA, j'obtiens le message :"Un composant ActiveX ne peut pas créer d'objet." Dim oo As Object Set oo = GetObject(, Class1)
Merci d'avance pour toute suggestion, Louis
"Julien Bakmezdjian [MS]" a écrit dans le message de news:
Bonjour,
Il faut exposer votre DLL .NET en tant que composant COM qui sera alors exploitable en VBA. La commande "regasm" est la clé de voûte de ce système. En recherchante regasm, VB.NET et VBA dans un moteur de recherche Web, vous devriez trouver votre bonheur...
Cordialement,
Julien Bakmezdjian
"Louis" wrote in message news:44c71ad5$0$19027$
Bonjour, Je travaille avec .NET 2003. Je cherche à construire une dll dans cet environnement qui puisse ensuite être exploitable par des macros word VBA et je n'y arrive pas. (Pas de souci pour que ma dll soit exploitable par un autre projet VB NET) Quelqu'un peut-il me donner les étapes ou m'indiquer une documentation ? Merci d'avance. Louis
Louis
La solution 2 est la bonne. Merci. Louis
"Patrice" a écrit dans le message de news:
Deux solutions :
1) Class1 devrait être entre guillemets je pense. J'utilise plutôt CreateObject (GetObject récupère un objet existant). Au besoin vérifier
dans
le registre que le progid est bon...
2) Si la TLB est référencée, faire un New de la classe est plus simple. Déclarer le type également plutôt que d'utiliser Object (sinon inutile de référencer la TLB)
-- Patrice
"Louis" a écrit dans le message de news: 44c765ce$0$18999$ > Merci pour votre réponse. > > Suite à consultation à d'autres forum, j'ai coché dans Visual Studio, la > case "Inscrire pour COM Interop" de la page de propriétés (configuration > de la génération du projet). > > Et je peux maintenant dans VBA référencer (Outils->Références...) le
.tlb
> qui a été généré dans VS. > > Néanmoins, avec le code ci-dessous dans VBA, j'obtiens le message :"Un > composant ActiveX ne peut pas créer d'objet." > Dim oo As Object > Set oo = GetObject(, Class1) > > Merci d'avance pour toute suggestion, > Louis > > > > "Julien Bakmezdjian [MS]" a écrit dans
le
> message de news: >> Bonjour, >> >> Il faut exposer votre DLL .NET en tant que composant COM qui sera alors >> exploitable en VBA. >> La commande "regasm" est la clé de voûte de ce système. En recherchante >> regasm, VB.NET et VBA dans un moteur de recherche Web, vous devriez >> trouver votre bonheur... >> >> Cordialement, >> >> Julien Bakmezdjian >> >> "Louis" wrote in message >> news:44c71ad5$0$19027$ >>> Bonjour, >>> Je travaille avec .NET 2003. >>> Je cherche à construire une dll dans cet environnement qui puisse >>> ensuite être exploitable par des macros word VBA et je n'y arrive pas. >>> (Pas de souci pour que ma dll soit exploitable par un autre projet VB >>> NET) >>> Quelqu'un peut-il me donner les étapes ou m'indiquer une documentation
?
>>> Merci d'avance. >>> Louis >>> >> >> > >
La solution 2 est la bonne.
Merci.
Louis
"Patrice" <scribe@chez.com> a écrit dans le message de
news:ehUKsNLsGHA.4420@TK2MSFTNGP04.phx.gbl...
Deux solutions :
1) Class1 devrait être entre guillemets je pense. J'utilise plutôt
CreateObject (GetObject récupère un objet existant). Au besoin vérifier
dans
le registre que le progid est bon...
2) Si la TLB est référencée, faire un New de la classe est plus simple.
Déclarer le type également plutôt que d'utiliser Object (sinon inutile de
référencer la TLB)
--
Patrice
"Louis" <louis.lebrun@free.fr> a écrit dans le message de news:
44c765ce$0$18999$626a54ce@news.free.fr...
> Merci pour votre réponse.
>
> Suite à consultation à d'autres forum, j'ai coché dans Visual Studio, la
> case "Inscrire pour COM Interop" de la page de propriétés (configuration
> de la génération du projet).
>
> Et je peux maintenant dans VBA référencer (Outils->Références...) le
.tlb
> qui a été généré dans VS.
>
> Néanmoins, avec le code ci-dessous dans VBA, j'obtiens le message :"Un
> composant ActiveX ne peut pas créer d'objet."
> Dim oo As Object
> Set oo = GetObject(, Class1)
>
> Merci d'avance pour toute suggestion,
> Louis
>
>
>
> "Julien Bakmezdjian [MS]" <julienba@online.microsoft.com> a écrit dans
le
> message de news: erEOtzIsGHA.240@TK2MSFTNGP02.phx.gbl...
>> Bonjour,
>>
>> Il faut exposer votre DLL .NET en tant que composant COM qui sera alors
>> exploitable en VBA.
>> La commande "regasm" est la clé de voûte de ce système. En recherchante
>> regasm, VB.NET et VBA dans un moteur de recherche Web, vous devriez
>> trouver votre bonheur...
>>
>> Cordialement,
>>
>> Julien Bakmezdjian
>>
>> "Louis" <louis.lebrun@free.fr> wrote in message
>> news:44c71ad5$0$19027$626a54ce@news.free.fr...
>>> Bonjour,
>>> Je travaille avec .NET 2003.
>>> Je cherche à construire une dll dans cet environnement qui puisse
>>> ensuite être exploitable par des macros word VBA et je n'y arrive pas.
>>> (Pas de souci pour que ma dll soit exploitable par un autre projet VB
>>> NET)
>>> Quelqu'un peut-il me donner les étapes ou m'indiquer une documentation
1) Class1 devrait être entre guillemets je pense. J'utilise plutôt CreateObject (GetObject récupère un objet existant). Au besoin vérifier
dans
le registre que le progid est bon...
2) Si la TLB est référencée, faire un New de la classe est plus simple. Déclarer le type également plutôt que d'utiliser Object (sinon inutile de référencer la TLB)
-- Patrice
"Louis" a écrit dans le message de news: 44c765ce$0$18999$ > Merci pour votre réponse. > > Suite à consultation à d'autres forum, j'ai coché dans Visual Studio, la > case "Inscrire pour COM Interop" de la page de propriétés (configuration > de la génération du projet). > > Et je peux maintenant dans VBA référencer (Outils->Références...) le
.tlb
> qui a été généré dans VS. > > Néanmoins, avec le code ci-dessous dans VBA, j'obtiens le message :"Un > composant ActiveX ne peut pas créer d'objet." > Dim oo As Object > Set oo = GetObject(, Class1) > > Merci d'avance pour toute suggestion, > Louis > > > > "Julien Bakmezdjian [MS]" a écrit dans
le
> message de news: >> Bonjour, >> >> Il faut exposer votre DLL .NET en tant que composant COM qui sera alors >> exploitable en VBA. >> La commande "regasm" est la clé de voûte de ce système. En recherchante >> regasm, VB.NET et VBA dans un moteur de recherche Web, vous devriez >> trouver votre bonheur... >> >> Cordialement, >> >> Julien Bakmezdjian >> >> "Louis" wrote in message >> news:44c71ad5$0$19027$ >>> Bonjour, >>> Je travaille avec .NET 2003. >>> Je cherche à construire une dll dans cet environnement qui puisse >>> ensuite être exploitable par des macros word VBA et je n'y arrive pas. >>> (Pas de souci pour que ma dll soit exploitable par un autre projet VB >>> NET) >>> Quelqu'un peut-il me donner les étapes ou m'indiquer une documentation