Bonjour à tous,
J'ai actuellement une macro qui enregistre ma mise en plan solidworks en PDF DXF et STEP mais j'ai un léger soucis.
Parfois, le lieu d'enregistrement ne correspond pas au chemin de ma mise en plan.
Comment puis-je récupérer le chemin de ma mise en plan qui est ouvert et forcer l'enregistrement des fichiers à cet endroit ?
Par avance merci.
Cordialement.
Bonjour,
avant d' exécuter la macro fais un enregistré sous du plan sw dans le bon dossier. puis exécute la macro.
si c'est la macro que je connais elle enregistre par défaut dans le dernier dossier ou tu a fais un enregistrement.
que la force soit avec toi.
2 « J'aime »
Merci maitre obiwan kenobi pour votre réponse.
Oui je connais cette manipulation mais malheureusement je n'y pense pas forcement car je suis souvent sur plusieurs dossiers en même temps, c'est pour cela que si ca se ferait automatiquement, ca éviterait quelque problème.
car je pense que ce n'est pas grand chose si on s'y connais un peu (pas comme moi)..
Merci encore pour ta réponse mais n'oublies pas " JE SUIS TON PÈRE"
Ci-joint la macro que j'utilise actuellement.
pdf_dxf_et_step.swp
1 « J'aime »
Bonjour,
Est-ce que tu t'y connais un peu en VBA et en API ?
SPathName = SwDraw.GetPathName 'recupere le nom et le chemin complet du document actif
Nomfichier2D = Right(SPathName, Len(SPathName) - InStrRev(SPathName, "\")) 'récupère le nom du fichier avec l'extension
Dirname = Left$(SPathName, InStrRev(SPathName, "\")) 'Récupère le chemin complet
Bonne soirée
Bonjour,
Dans ta macro tu récupères déjà le chemin du dossier à l'aide de la variable "Filepath" mais celle-ci n'est pas utilisée dans la fonction "saveas" donc c'est normal que cela ne fonctionne pas comme tu veux ... De plus, les noms des fichiers sont construits à l'aide du signe "+" alors qu'il est préférable d'utiliser le symbole "&" pour concaténer plusieurs chaînes de caractères ...
Et petit souci dans ta macro, tu utilises une fonction "SendKeys "^{q}"" pour forcer la régénération mais il faut faire attention avec ce genre de commande car cela ne donne pas toujours l'effet escompté, voir ICI, par exemple pour moi cela me déverrouille le pavé numérique ...
Bref, je suis au regret de t'annoncer que, de mon point de vue, la meilleure solution serait de ré-écrire cette macro ...
Cordialement,
Bonjour,
Tout d'abord merci pour vos réponse.
Oui je pense que ca serait une bonne solution de la réécrire mais malheureusement je n'ai pas les compétence nécessaire pour faire cela. J'ai fait cette macro en récupérant des bout de macro sur internet et en bidouillant un peu. Mais j'y connais pas grand chose que ca soit en VBA ou API pour répondre à ta question Emmanuel.
Et pour forcer l'enregistrement dans le chemin récupérer, je ne trouve pas comment faire. Pouvez vous m'aider svp.
Cordialement.