[API] - Demander à l'utilisateur de faire une action dans SW (sélectioner une face par exemple)

Bonjour,

 

J'ai une macro qui exporte des pièces indiduées dans un CSV en DXF.

Pour les pièces Volumique, j'exporte uniquement la vue d'annotation apppellée "DXF". Comme ceci:

bRet = swPart.ExportToDWG2(dxfFilePath, filePath, swExportToDWG_ExportAnnotationViews, True, varAlignment, False, False, 0, varViews)
                                        If bRet Then
                                            debugNlog ("On a exporté la pièce de volumique en DXF:  " & dxfFilePath)
                                        Else
                                            logStatus = debugNlog("ERREUR DXF Volumique: La pièce " & dxfFilePath & "   Config = " & sConfigName & " n'a pas été exporté", "error")
                                            logStatus = debugNlog(filePath, "error")
                                            swApp.SendMsgToUser2 "ERREUR DXF Volumique: La pièce " & docTitle & " n'a pas été exporté" & vbCrLf & "Créez une vue nommée DXF pour corriger le problème", swMbWarning, swMbOk
                                        

 

J'aimerai que la macro se mette en pause et que l'utilisateur puisse créer la vue pendant la pièce est ouverte (clic sur une face, puis clic sur un bouton macro qui déclenche la création d'une vue d'annotation qui s'appelle DXF), puis que la macro retente l'export, vu que cette fois ce sera OK ca passe aux pièces suivante jusqu'à retombé sur une pièce qui n'a pas cette vue et la idem, l'utilisateur la crée en live.

(je compte bien sur faire le choix au lancement pour savoir si on dois demander à l'utilisateur, ou etre en mode "silent" pour pouvoir quitter son poste sans que cela bloque le traitement.

 

Avez vous une technique pour rendre la main à l'utilisateur dans SW et pour qu'il puisse ensuite cliquer sur un bouton type "continuer/resume"

 

Merci par avance

Essaye ca.


exporter.zip
1 « J'aime »

Bonjour,

Un peu de lecture ICI pour permettre de mettre ta macro en pause.

Par contre, pourquoi vouloir faire cela en 2 macros ? N'est-il pas préférable de vérifier si ta vue DXF existe puis mettre une condition pour orienter ton traitement vers une fonction de création de cette vue DXF si celle-ci n'existe pas avant de continuer vers ta fonction d'export en DXF. Tu as juste à mettre ta pause au début de la fonction de création de la vue DXF en demandant à l'utilisateur de sélectionner la face.

Cordialement,

1 « J'aime »

Merci d.roger, je me doutais que tu serai de bon conseil.

Oui bien sûr j'ai deux macro à l'heure actuelle mais je compte bien sûr m'y prendre comme tu le préconises !

Bien à toi,