Bonjour,
j'aimerais récupérer des données d'un excel en fonction du nom de mon assemblage et les inscrire dans les propriétés de celui-ci.
Mais dès que j'excecute mon code, j'ai un message d'erreur "Bibliothèque non inscrite" mais pour autant la références Microsoft Excel 15.0 Object Library " est bien cochée.
Avez vous une idée ?
Sub OpenExcel()
Dim xlApp As Excel.Application
Set xlApp = Excel.Application
Dim wbk As Excel.Workbook
Dim sht As Excel.Worksheet
With xlApp
.Visible = True
.Workbooks.Open ("P:\05-Solidworks\CAO\Demande de developpement.xlsm")
End With
End Sub
Je ne sais pas pourquoi cela ne fonctionne pas mais voici un site avec de nombreux exemple fonctionnel, dont un avec fichier xls:
https://www.codestack.net/solidworks-api/document/tables/write-excel-table-into-general-table/
Un 2ème site avec exemple:
https://www.cadsharp.com/blog/using-microsoft-excel-with-the-solidworks-api/
Avec un peu de chance cela t'aidera et tu pourra ensuite nous faire un retour.
Bonjour,
j'ai déjà vu ces site et testé mais rien n'y fais il me dit toujours que j'ai un problème de référence :(
J'ai trouvé ce code qui est fonctionnelle (sw2020 excel 16.0)
Option Explicit
Dim swApp As Object
Dim swModel As Object
Dim xlApp As Object
Dim xlSheet As Object
Dim xlBooks As Object
Sub Main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
xlApp.Workbooks.Open "\\Hul-fps1\fsm$\BOLSTERS.xls"
Set xlSheet = xlApp.ActiveSheet
End Sub
Edit:
En remplaçant ta ligne:
Set XlApp=Excel.Application par:
Set xlApp = CreateObject("Excel.Application")
Cela m'ouvre un excel.
aaaaah yes, ca m'ouvre l'excel aussi :D !
Bizarre je comprend pas la différence ...
Bon, il faudrait que je fasse une connexion ADODB pour que ce soit plus rapide, mais je le ferais plus tard
Merci Denis !
Bonjour,
C'est le CreateObject qui manquait. Ou sinon il fallait coder comme ci-dessous afin de créer une instance Excel
Set xlApp = New Excel.Application
3 « J'aime »