Macro solidworks mes premiers balbutiments

Bonjour la communauté.

 

Je suis a mes premiers balbutiments sur les macros SW. 

 

Je souhaite faire une macro me récupérant le nom du fichier (sans l'extension) et 'inscrit cette chaine de caractère dans une propriété perso.

Je rencontre des pb sur la scission de l'extension du nom du fichier que j'ai réussi a récupéré.

Ci dessous le code que j'ai écrit. Qu'es ce que je fait de mal car je ne comprend vraiement pas ...

Dim swApp As Object
Sub main()

 Set swApp = Application.SldWorks
    
Set swModel = swApp.ActiveDoc

Dim swBodies As Variant
Dim swBody As SldWorks.Body2
Set Part = swModel
            
Dim b As String
Dim name

b = swModel.GetTitle
Debug.Print b

name = Split(b, ".", -1)

Debug.Print name

End Sub

 

 

Par avance merci

Bonjour,

Quelle est l'erreur ?

Il faut remplacer la ligne :

name = Split(b, ".", -1)

Par :

Name = Left(b, (InStrRev(b, ".", -1, vbTextCompare) - 1))

 

Car Split ne peut pas s'utiliser comme ça.

 

Oups le message recu est : 

erreur d'éxecution 13

Incomptabilité de type

1 « J'aime »

Oui, j'ai testé et j'ai vu.

Pour info, il faut signaler quelle ligne est en erreur aussi :)

Avec mon message précédent ça marche maintenant.

Merci beaucoup, cependant que veux dire cette ligne de code???

1 « J'aime »

Pour split, voir ici :

http://silkyroad.developpez.com/VBA/ManipulerChainesCaracteres/#LI-I

Pour left voir ici :

http://silkyroad.developpez.com/VBA/ManipulerChainesCaracteres/#LI-B

Pour instrrev, voir ici (la différence avec instr, c'est qu'il commence à la fin de la chaine de caractère) :

http://silkyroad.developpez.com/VBA/ManipulerChainesCaracteres/#LI-E

 

Sinon, pour les fonctions sur les chainse de caractères, voir aussi :

http://boisgontierjacques.free.fr/pages_site/chainesvba.htm