• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Leggi altro.

Problemi in VBA per Solidworks

Professione: studente
Software: Excel,Fluent
Regione: Lazio
#1
In VBA per soidworks riceve un errore nel seguente listato:
Option Explicit
Dim SelMgr As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim Feature As Object
Dim Part As Object
Dim swApp As SldWorks.SldWorks

Sub main()

Set swApp = Application.SldWorks

Set Part = swApp.ActivateDoc
Set Feature = Part.AddMate2(5, 0, True, 0.001, 0.001, 0.001, 1, 1, 0, 0, 0, longstatus)
Part.ClearSelection2 True

If swApp.GetUserPreferenceToggle(swColorsGradientPartBackground) Then swApp.SetUserPreferenceToggleswColorsGradientPartBackground , False
Else
swApp.SetUserPreferenceToggleswColorsGradientPartBackground , True
End If

End Sub
Come da allegato
Grazie
 

Allegati

jenuary

Utente Standard
Professione: Progettista e Programmatore VB.Net
Software: Solidworks
Regione: Veneto
#2
Ciao,
il problema sta qui:
Set Part = swApp.ActivateDoc :mixed:
deve essere sostituito con
Set Part = swApp.ActiveDoc :finger:

Saluti
 
Professione: studente
Software: Excel,Fluent
Regione: Lazio
#3
O.K. per quanto riguarda la prima parte della richiesta, mentre per la restante:

Option Explicit
Dim SelMgr As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim Feature As Object
Dim Part As Object
Dim swApp As SldWorks.SldWorks
Sub main()
Set swApp = Application.SldWorks
If swApp.GetUserPreferenceToggle(swColorsGradientPartBackground) Then
swApp.SetUserPreferenceToggleswColorsGradientPartBackground , False
Else
swApp.SetUserPreferenceToggleswColorsGradientPartBackground , True
End If
Errore di compilazione Else senza IF ???

cosa psso fare ?
Grazie:finger::finger:




Ciao,
il problema sta qui:
Set Part = swApp.ActivateDoc :mixed:
deve essere sostituito con
Set Part = swApp.ActiveDoc :finger:

Saluti
 

CIARLY

Utente Standard
Professione: Disegnatore
Software: SolidWorks 2014 sp4
Regione: Piemonte
#4
If swApp.GetUserPreferenceToggle(swColorsGradientPartBackground) Then
swApp.SetUserPreferenceToggleswColorsGradientPartBackground , False
Else
swApp.SetUserPreferenceToggleswColorsGradientPartBackground , True
End If
Errore di compilazione Else senza IF ???

cosa psso fare ?
Grazie:finger::finger:
Premetto che non sono un esperto di VBA, a me pare che ci sia un errore di battitura se il listato e' quello (PartB ackground) se non e' quello bisogna apettare jenuary che e' molto piu competente.
 

jenuary

Utente Standard
Professione: Progettista e Programmatore VB.Net
Software: Solidworks
Regione: Veneto
#5
Ciao, così sembra funzionare.

Ti allego la macro.
Se ti capita di avere problemi in futuro su macro, ti consiglio di dare una spiegazione di cosa ti serve fare, in quanto puo essere di aiuto mentre si cerca di risolvere il problema, o se per caso ho gia qualcosa di fatto, anche di piu avanzato, te lo posso girare direttamente.
Saluti:biggrin:
 

Allegati