Bonjour,
Je souhaite réaliser une Dll pour VBA, pour l'instant je souhaite simplement envoyer des valeurs à une méthode de la Dll et qu'elle me renvoie le résultat.
J'ai suivi la page MS suivante :
https://learn.microsoft.com/en-us/do...ng-com-objects
J'ai bien coché l'option COM dans les préférences du projet.
Voici le code VB de mon test :
La Dll est créé mais il y a une erreur lors du regasm :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Imports System.Runtime.InteropServices <ComClass(ComClass1.ClassId, ComClass1.InterfaceId, ComClass1.EventsId)> <ComVisible(True)> Public Class ComClass1 #Region "COM GUIDs" Public Const ClassId As String = "E3C9AB19-7696-42A9-B934-F687E18C6E3A" Public Const InterfaceId As String = "12642CF7-5F75-437D-974D-58825811C40F" Public Const EventsId As String = "1E4CB5DE-9875-42BE-A8DE-EDFE4E49A04B" #End Region Public Sub New() MyBase.New() End Sub <ComVisible(True)> Public Function Addition(valeur1 As Double, valeur2 As Double) As Double Addition = valeur1 + valeur2 End Function End Class
VS2022 et la ligne de commande pour lancer le regasm sont lancé en mode administrateur.
J'ai lancé un MsBuild, en voici le résultat :
J'ai fait pas mal de recherche sur le NET, j'ai dû passer à côté d'un truc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 MSBuild version 17.4.1+9a89d02ff for .NET Framework Les projets sont gnrs individuellement dans cette solution. Pour activer la gnration en parallle, ajoutez le commutateur "-m". La gnration a dmarr 06/02/2023 13:24:02. Projet "D:\MyDotNetProjects\repos\ClassLibrary1\ClassLibrary1.sln" sur le noud 1 (cibles par dfaut). ValidateSolutionConfiguration: Gnration de la configuration de solution "Debug|Any CPU". Le projet "D:\MyDotNetProjects\repos\ClassLibrary1\ClassLibrary1.sln" (1) gnre "D:\MyDotNetProjects\repos\ClassLibrary1\ClassLibrary1\ClassLibrary1.vbproj" (2) sur le noud 1 (cibles par dfaut). GenerateTargetFrameworkMonikerAttribute: La cible est ignore "GenerateTargetFrameworkMonikerAttribute", car tous les fichiers de sortie sont à jour par rapport aux fichiers d'entre. CoreGenerateAssemblyInfo: La cible est ignore "CoreGenerateAssemblyInfo", car tous les fichiers de sortie sont à jour par rapport aux fichiers d'entre. CoreCompile: La cible est ignore "CoreCompile", car tous les fichiers de sortie sont à jour par rapport aux fichiers d'entre. GenerateBuildDependencyFile: La cible est ignore "GenerateBuildDependencyFile", car tous les fichiers de sortie sont à jour par rapport aux fichiers d'entre. CopyFilesToOutputDirectory: ClassLibrary1 -> D:\MyDotNetProjects\repos\ClassLibrary1\ClassLibrary1\bin\Debug\net6.0\ClassLibrary1.dll Gnration du projet "D:\MyDotNetProjects\repos\ClassLibrary1\ClassLibrary1\ClassLibrary1.vbproj" termine (cibles par dfaut). Gnration du projet "D:\MyDotNetProjects\repos\ClassLibrary1\ClassLibrary1.sln" termine (cibles par dfaut). La gnration a russi. 0 Avertissement(s) 0 Erreur(s) Temps coul 00:00:00.61
Cordialement,
Partager