Erreur fonction ou variable attendue SolidWorks

Bonjour a tous,

J’ai cette erreur : « Erreur de compilation: fonction ou variable attendue »

L’erreur est sur la ligne suivante et la fonction « GetTransparency »

Debug.Print swSketchPicture.GetTransparency(Style, Transparency, MatchingColor, MatchingTolerance)

Je suis sous SolidWorks 2022 et le code est le suivant :

Sub recupTranparenceImage()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swSelMgr As SldWorks.SelectionMgr
Dim swFeat As SldWorks.Feature
Dim swSketchPicture As SldWorks.ISketchPicture
Dim boolstatus As Boolean
'Dim instance As ISketchPicture
Dim Style As Long
Dim Transparency As Double
Dim MatchingColor As Long
Dim MatchingTolerance As Double
 
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
'boolstatus = swModel.Extension.SelectByID2("Feuille1", "SHEET", 5.43900806628579E-02, 0.13276815279762, 0, False, 0, Nothing, 0)
swModel.EditTemplate
swModel.EditSketch
boolstatus = swModel.Extension.SelectByID2("Image d'esquisse2", "SKETCHBITMAP", 0.166852606603703, 0.134853758836237, 0, False, 0, Nothing, 0)
Set swSelMgr = swModel.SelectionManager
Set swFeat = swSelMgr.GetSelectedObject6(1, -1)
Set swSketchPicture = swFeat.GetSpecificFeature2
'Debug.Print swSketchPicture.SetTransparency(2, 0.97, 0, 0)

Debug.Print swSketchPicture.GetTransparency(Style, Transparency, MatchingColor, MatchingTolerance)
Debug.Print Transparency
swModel.EditSheet
End Sub

Une idée de ce qui ne va pas ?

Bonjour,

Essaie de convertir la valeur de retour en un type affichable par un print :

Debug.Print CStr( swSketchPicture.GetTransparency(Style, Transparency, MatchingColor, MatchingTolerance) )

Merci @Sylk , mais aucun changement, j’ai toujours la même erreur.

Et quid avec

swSketchPicture.GetTransparency(Style, Transparency, MatchingColor, MatchingTolerance)
Debug.Print Style
Debug.Print Transparency
Debug.Print MatchingColor
Debug.Print MatchingTolerance

Si la fonction GetTransparency ne retourne aucune valeur, il faut exploiter les variables de ses arguments.

1 « J'aime »

Oui merci @Sylk , c’est exactement ce que je venais de tester, grâce a ta réflexion de valeur retourné par la fonction:

Sub recupTranparenceImage()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swSelMgr As SldWorks.SelectionMgr
Dim swFeat As SldWorks.Feature
Dim swSketchPicture As SldWorks.ISketchPicture
Dim boolstatus As Boolean
Dim Style As Long
Dim Transparency As Double
Dim MatchingColor As Long
Dim MatchingTolerance As Double
 
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
swModel.EditTemplate
swModel.EditSketch
boolstatus = swModel.Extension.SelectByID2("Image d'esquisse2", "SKETCHBITMAP", 0.166852606603703, 0.134853758836237, 0, False, 0, Nothing, 0)
Set swSelMgr = swModel.SelectionManager
Set swFeat = swSelMgr.GetSelectedObject6(1, -1)
Set swSketchPicture = swFeat.GetSpecificFeature2

swSketchPicture.GetTransparency Style, Transparency, MatchingColor, MatchingTolerance
Debug.Print Transparency
swModel.EditSheet
End Sub
1 « J'aime »