Bonjour, peut on récupérer une partie du nom de fichier dans les propriété SW ?
Merci d'avance.
Bonjour, peut on récupérer une partie du nom de fichier dans les propriété SW ?
Merci d'avance.
Bonjour,
voici comment la commande pour récupérer le nom du fichier:
$PRP:"SW-Nom de fichier(File Name)
Quant à récupérer une partie; je ne crois pas que ça soit possible à moins qu'un de mes collègue connaisse
une commande et que la partie du nom à récupérer soit constante..
Bonjour,
Il est possible de concaténer plusieurs propriétés mais je doute qu'il soit possible de ne récupérer qu'une partie de l'une d'elle, sauf par macro bien entendu puisque dans ce cas toutes les fonctions de manipulation des chaines de caractère sont disponibles dans la macro.
Cordialement,
Oui j'utilise déjà une macro pour récupéré ce que je veux mais j'aurai bien voulu que ce soit automatique.
Merci de vos réponse !
A bientôt.
Bonjour,
Est-il possible de partager ta macro ? en effet j'aimerais aussi faire la même chose que toi en récupérant d'un coté mon numéro de plan et de l'autre ma description mes fichiers etant nommé "n°deplan - description.sldprt"
Merci d'avance
Bonjour,
Désolé pour la réponse tardive voici la premiere macro pour recuperer la reference ( les 13 premiers caracteres)
Dim swApp As Object
Dim nomfichier, toto, longueur, variable1, variable2, nomrep
Dim chemin
Dim longue, pos
Dim model As Object
Sub main()
Set swApp = CreateObject("SldWorks.Application")
Set Part = swApp.ActiveDoc
Set View = Part.ActiveDrawingView
'Récup chemin + nom du fichier de la vue
nomfichier = View.GetReferencedModelName
'MsgBox (nomfichier)
'recup nom fichier
toto = Dir(nomfichier)
'MsgBox (toto)
'recup des 13 premiers caracteres du nom fichier
variable2 = Left(toto, 13)
'MsgBox (variable2)
'calcul nb caracteres dans nomfichier
longueur = Len(toto) + 1
'MsgBox (longueur)
'création chaine sans nom fichier
longue = Len(nomfichier)
roro = longue - longueur
'MsgBox (roro)
chemin = Left(nomfichier, roro)
'MsgBox (chemin)
'recherche position de \ à partir de la droite
pos = InStrRev(chemin, "\")
'creation variable 13 prem caracteres dossier parent
variable1 = Mid(chemin, pos + 1, 13)
'MsgBox (variable1)
'concatenation des 2 variables
champs = variable2
'MsgBox (champs)
'creation PP 'champ' dans SW pour remplissage cartouche
If champs <> "" Then
Value = Part.CustomInfo2("", "champ")
If Value = "" Then
Part.AddCustomInfo3 "", "champ", 50, champs
Else
Part.CustomInfo2("", "champ") = champs
End If
End If
Part.EditRebuild3
End Sub
Et la deuxieme partie pour recuperer le nom apres la reference :
Dim swApp As Object
Dim nomfichier, toto, longueur, variable1, variable2, nomrep
Dim chemin
Dim longue, pos
Dim model As Object
Sub main()
Set swApp = CreateObject("SldWorks.Application")
Set Part = swApp.ActiveDoc
Set View = Part.ActiveDrawingView
'Récup chemin + nom du fichier de la vue
nomfichier = View.GetReferencedModelName
'MsgBox (nomfichier)
'recup nom fichier
toto = Dir(nomfichier)
'MsgBox (toto)
'calcul nb caracteres dans toto
longueur = Len(toto)
'MsgBox (longueur)
'création chaine sans extension
variable = Left(toto, longueur - 7)
'MsgBox (variable)
'recup longueur variable
longue = Len(variable)
'MsgBox (longue)
'recup nom fichier sans 14 premiers caractères
champs = Right(variable, longue - 14)
'MsgBox (champs)
'creation PP 'champ' dans SW pour remplissage cartouche
If champs <> "" Then
Value = Part.CustomInfo2("", "champ2")
If Value = "" Then
Part.AddCustomInfo3 "", "champ2", 50, champs
Else
Part.CustomInfo2("", "champ2") = champs
End If
End If
Part.EditRebuild3
End Sub
Bonjour, j'aimerais aussi récupérer les 6 premiers caractères mais je n'arrive pas à faire fonctionner votre macro.
Bonjour à tous,
Si vous avez Intégration compris dans les outils My CADtools ça se fait tres bien, voir la capture ci-jointe.
J'ai Mycadtools et je ne connaissais pas cette fonction
Merci.