Hoe lees je een Excel-bestand via de VBA SW?

Hallo 

Ik wil graag gegevens uit een Excel ophalen volgens de naam van mijn assembly en deze in de eigenschappen ervan schrijven.

Maar zodra ik mijn code uitvoer, krijg ik een foutmelding "Bibliotheek niet geregistreerd", maar voor alles wat de Microsoft Excel 15.0 Object Library-referenties zijn, wordt gecontroleerd.

Heb je een idee? 

 

Sub OpenExcel()

Dim xlApp als Excel.Application
Stel xlApp in = Excel.Toepassing
Dim wbk als Excel.Workbook
Dim sht als Excel.Werkblad

Met xlApp
    . Zichtbaar = Waar
    . Werkmappen.Open ("P:\05-Solidworks\CAD\Developer Request.xlsm")
    
Eindigen met

Einde Sub
 

Ik weet niet waarom het niet werkt, maar hier is een site met veel werkende voorbeelden, waaronder een met een xls-bestand:

https://www.codestack.net/solidworks-api/document/tables/write-excel-table-into-general-table/

 

Een 2e site met voorbeeld:

https://www.cadsharp.com/blog/using-microsoft-excel-with-the-solidworks-api/

Hopelijk heb je hier wat aan en dan kun je ons feedback geven.

Hallo 

Ik heb deze sites al gezien en getest, maar niets helpt, hij vertelt me altijd dat ik een referentieprobleem heb:( 

Ik heb deze code gevonden die functioneel is (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

Bewerken:

Uw lijn vervangen:

Stel XlApp=Excel.Application in op:

Set xlApp = CreateObject("Excel.Application")

Dit opent een excel voor mij.

 

aaaaah ja, het opent excel voor mij ook:D!  

Raar, ik begrijp het verschil niet...  

Nou, ik zou een ADODB-verbinding moeten maken om het sneller te maken, maar ik zal het later  doen

Dank je wel Denis! 

Hallo

Het was het CreateObject dat ontbrak. Of anders moest u coderen zoals hieronder om een Excel-instantie te maken

Set xlApp = New Excel.Application

 

3 likes