Hallo allemaal, ik ben een beetje aan het klunzen geslagen met VBA voor SolidWorks.
Op zich is alles prima werkend, even een korte toelichting: Ik heb meerdere CAD modellen welke ik aan kan passen met verschillende inputforms. Deze input werkt prima. Nu ben ik bezig met het automatisch selecteren van de userforms behorende bij een bepaald document. Dit heb ik op de volgende manier opgelost:
In de basis werkt bovenstaande code prima. Afhankelijk van het open document wordt er dus een ander form geopend.
Hier gaat het fout: Als het betreffende inputform wordt afgesloten met het kruisje, krijg ik een error:
Debugging geeft aan dat de fouten in de dikgedrukte code zitten (1 van de twee, ligt er dus aan welk form is geactiveerd)
Ik denk dat het gaat om iets simpels, omdat ik eigenlijk zelf maar wat heb geklust.
Al het advies is welkom, en als ik wat meer bestanden mee moet leveren hoor ik dat graag!
Op zich is alles prima werkend, even een korte toelichting: Ik heb meerdere CAD modellen welke ik aan kan passen met verschillende inputforms. Deze input werkt prima. Nu ben ik bezig met het automatisch selecteren van de userforms behorende bij een bepaald document. Dit heb ik op de volgende manier opgelost:
Code:
Dim SwApp As SldWorks.SldWorks
Dim Part As SldWorks.ModelDoc2
Dim FileName As String
Dim name As Double
Sub main()
Set SwApp = _
Application.SldWorks
Set Part = SwApp.ActiveDoc
FileName = Part.GetTitle
If FileName = "Bicycle Rack.SLDASM" Then
[U][B]LoadForm BicycleRack[/B][/U]
End If
If FileName = "Longboard.SLDASM" Then
[B][U]LoadForm Longboard[/U][/B]
End If
End Sub
Sub LoadForm(name)
Load name
name.Show
End Sub
In de basis werkt bovenstaande code prima. Afhankelijk van het open document wordt er dus een ander form geopend.
Hier gaat het fout: Als het betreffende inputform wordt afgesloten met het kruisje, krijg ik een error:
Code:
Run-time error '13':
Type Mismatch
Ik denk dat het gaat om iets simpels, omdat ik eigenlijk zelf maar wat heb geklust.
Al het advies is welkom, en als ik wat meer bestanden mee moet leveren hoor ik dat graag!