Hello everyone,
I am working on solidworks 2021 and in order to save time on certain tasks, I am looking to insert a bill of materials on an overview plan via a VBA macro.
I have a good base but there is a problem, this code doesn't really work either it inserts the name, but I have error code 13 that appears, or it doesn't insert it and I have error code 91. Can you help me?
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim swActiveView As Object
Dim swBOMTable As Object
'Dim swBOMAnnotation As SldWorks.BomFeature
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim swDrawing As SldWorks.DrawingDoc
Dim swView As SldWorks.View
Dim swBOMAnnotation As SldWorks.BomTableAnnotation
Dim swBOMFeature As SldWorks.BomFeature
Dim swNote As SldWorks.Note
Dim BomBalloonParams As SldWorks.BalloonOptions
Dim AnchorType As Long
Dim BomType As Long
Dim nErrors As Long
Dim nWarnings As Long
Dim Configuration As String
Dim TableTemplate As String
Sub main()
' F5 exécution code
' F8 pas à pas
' Je rentre dans solidworks
Set swApp = Application.SldWorks
' Je rentre dans mon doc actif
Set Part = swApp.ActiveDoc
'boolstatus = Part.ActivateView("Vue de mise en plan1")
' Je sélectionne ma vue
boolstatus = Part.Extension.SelectByID2("Vue de mise en plan1", "DRAWINGVIEW", 0.121991020408163, 0.145772448979592, 0, False, 0, Nothing, 0)
' La vue séléctionnée est activée
Set swActiveView = Part.ActiveDrawingView
AnchorType = swBOMConfigurationAnchor_TopLeft
BomType = swBomType_e.swBomType_TopLevelOnly
Configuration = "Défaut"
TableTemplate = "X:\Biblio\BIBLIO MECA\BASE DE DONNEES\NOMENCLATURES\NOM_ROBAUT.sldbomtbt"
'Hidden = False
'IndentedNumberingType = swNumberingType_Flat
' J'insère une table
swBOMAnnotation = swActiveView.InsertBomTable4(False, 0, 0, AnchorType, BomType, Configuration, TableTemplate, False, swNumberingType_Detailed, False)
boolstatus = Part.EditRebuild3()
boolstatus = Part.ActivateSheet("Feuille1")
End Sub