Błąd oczekiwanej funkcji lub zmiennej SolidWorks

Witam wszystkich,

Mam taki błąd: " Błąd kompilacji: oczekiwano funkcji lub zmiennej "

Błąd znajduje się w następnym wierszu, a funkcja " GetTransparency "

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

Korzystam z SolidWorks 2022 i kod jest następujący:

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

Masz pojęcie, co jest nie tak?

Witam

Spróbuj przekonwertować zwracaną wartość na typ, który może być wyświetlany przez wydruk:

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

Dzięki @Sylk , ale bez zmian, nadal mam ten sam błąd.

A co powiesz na

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

Jeśli funkcja GetTransparency nie zwraca żadnej wartości, należy użyć zmiennych w jej argumentach.

1 polubienie

Tak, dziękuję @Sylk , to jest dokładnie to, co właśnie przetestowałem, dzięki Twojemu odbiciu wartości zwróconemu przez funkcję:

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 polubienie