Aller au contenu

Problème d' ESPACE dans une MACRO


rebcao

Messages recommandés

Bonjour à Toutes et à Tous,

 

Les vieux routards vous diront toujours d'éviter d'utiliser les ESPACES que ce soit pour le nom des calques, des blocs, des fichiers, etc.

 

Voici une MACRO qui dès qu'il y a un ESPACE interprète l'ESPACE comme ENTREE et plante... Je veux renommer un BLOC qui s'appelle BLOC000 par le NOM du FICHIER dans lequel je me trouve ! Voici la bête :

 

^c^c_rename;B;Bloc000;$m=$(substr,$(getvar,dwgname),1,$(-,$(strlen,$(getvar,dwgname)),4));

 

J'ai beau mettre des guillements un peu partout rien n'y fait ESPACE = toujours RETURN !!!

 

Quelle serait la syntaxe magique pour arriver à contourner ce bazarre ?!

 

Merci pour votre aide

 

Christian

 

PS : tiens pourquoi les flèches du clavier sont inopérantes dans l'éditeur des messages...?!

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Normalement, il faut double-quoter (""). Alors fait bizarre, j'ai essayé avec MODEMACRO l'expression:

""$(substr,$(getvar,dwgname),1,$(-,$(strlen,$(getvar,dwgname)),4))""

 

Cela fonctionne bien, mais si je retranscrit pour la macro de bouton, et bien ça va plus :(

 

Peut être passer la chaine par une variable USER et la récupérer ensuite ... (pas essayé)

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Merci pour ton aide.

 

Malheureusement par une variable USER ça marche pas NON plus car il interprète de nouveau l'ESPACE !!!!

 

 

Christian

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Voici 2 MACROS qui fonctionnent très bien :

 

 

^c^cmodemacro;$m=$(substr,$(getvar,dwgname),1,$(-,$(strlen,$(getvar,dwgname)),4));

 

^c^c_-text;\;;$m=$(getvar,modemacro);;

 

Et une qui ne veut PAS !!!!!!!!

 

^c^c_-layer;E;""$m=$(getvar,modemacro)"";;

 

 

Tant que les données sont traitées par un champ texte ça va mais dès qu'on passe sur des commandes l'ESPACE = RETURN !!!!!

 

 

Christian

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

 

^c^c_rename;B;Bloc000;$m=$(substr,$(getvar,dwgname),1,$(-,$(strlen,$(getvar,dwgname)),4));

 

J'ai beau mettre des guillements un peu partout rien n'y fait ESPACE = toujours RETURN !!!

 

Quelle serait la syntaxe magique pour arriver à contourner ce bazarre ?!

 

^c^c_rename;B;Bloc000;"$m=$(substr,$(getvar,dwgname),1,$(-,$(strlen,$(getvar,dwgname)),4))""""

;)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

C'est d'une logique !!!??? Sacré DIESEL ! Tu montres ça a un informaticien, il est mort de rire...

 

 

Merci Bryce

 

Christian

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Lien vers le commentaire
Partager sur d’autres sites

  • 9 mois après...

Bonjour,

 

Voici à nouveau les galères du DIESEL avec la gestion des GUILLEMETS un peu curieuse !!!

 

Voici 2 MACROS qui fonctionnent parfaitement :

 

^c^cattreq;0;_rename;B;Bloc000;"$m=$(substr,$(getvar,dwgname),5,$(-,$(strlen,$(getvar,dwgname)),8))"""";

 

^c^cattreq;0;_-insert;"$m=$(substr,$(getvar,dwgname),5,$(-,$(strlen,$(getvar,dwgname)),8))="""";0,0;^c

 

En voulant en faire plus qu'une seule, ça ne fonctionne plus !

 

^c^cattreq;0;_rename;B;Bloc000;"$m=$(substr,$(getvar,dwgname),5,$(-,$(strlen,$(getvar,dwgname)),8))"""";^c^cattreq;0;_-insert;"$m=$(substr,$(getvar,dwgname),5,$(-,$(strlen,$(getvar,dwgname)),8))="""";0,0;^c

 

 

Quelle serait la subtilité dans les GUILLEMETS ? Sacré DIESEL !!!! :(

 

Merci pour votre aide

 

 

Christian

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Lien vers le commentaire
Partager sur d’autres sites

Salut Christian,

 

Je ne pratique pas le diesel autant que toi (à vrai dire l'édition des boutons pendant les phases de test me gave un peu; l'ouverture du CUI est longue....)

 

On avait eu déjà cette discussion ensemble.

 

En regardant de nouveau les syntaxes incriminées (ici et dans mon lien), je me demande si cela ne viendrait pas de l'usage de $m=. J'ai l'impression que si celle ci est présente plusieurs fois dans la macro, seule la première est interprétée.

 

Le problème avec le diesel, c'est que celui est un interpréteur de chaine de texte et non d'instructions littérales, cela fausse notre logique de conception.

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité