tecnopat Posté(e) le 29 février 2008 Posté(e) le 29 février 2008 Salut Je cherche à me servir d'une boîte de dialogue "ouvrir fichier" dans AUTOCAD, en cherchant j'ai donc trouvé du code qui marche bien sur ce post http://www.cadxp.com/modules.php?op=modload&name=XForum&file=viewthread&tid=3622#pid10940 Il me manque juste la possibilité de sélectionner plusieurs fichiers, c'est la propriété Multiselect.En cherchant de nouveau, j'ai trouvé une astuce : il s'agit de donner à la propriété Flags la valeur suivante : OpenFile.flags = &H201 Le problème c'est que çà m'affiche alors une boîte de dialogue un peu "old fashioned" bien moche, avec les noms de fichiers tronqués et le signe "~" . çà m'intéresse pas, même si je peux alors en sélectionner plusieurs. C'était pas mal trouvé (bien ésotérique en tout cas :casstet: ) mais c'est pas satisfaisant Quelqu'un sait-il comment faire çà tout en gardant ma belle OpenFileDialog ? D'autre part, tant que j'y suis, je veux, dans la foulée, sélectionner un bloc cartouche présent dans un espace papier, et je veux faire un test sur le nom. J'ai codé çà : Sub extractauto() Dim i As Integer Dim bloccart As Object For i = 0 To ThisDrawing.Blocks.Count - 1 MsgBox ThisDrawing.Blocks(i).Name If Not InStr(0, ThisDrawing.Blocks(i).Name, "C2005") = 0 Then MsgBox "extraction de " & ThisDrawing.Blocks(i).Name Set bloccart = ThisDrawing.Blocks(i) ExtractCart (bloccart) ' End If Next End Sub çà bloque sur InStr(0, ThisDrawing.Blocks(i).Name, "C2005") Pourtant, le msgbox affiche : http://shup.com/Shup/26243/108129155437autocadtz4.png Quel est le problème avec la fonction Instr ? Merci
sechanbask Posté(e) le 29 février 2008 Posté(e) le 29 février 2008 pour ton problème sous InStr(0, ThisDrawing.Blocks(i).Name, "C2005"), je pense avoir la solution:ne me demande pas pourquoi pour toutes les fonctions usuelles de VBA, je suis obligé de déclarer que ça appartient bien à VBA en faisant : VBA.InStr(0, ThisDrawing.Blocks(i).Name, "C2005") Si ça ne marche pas donne le type d'erreur que ça te donne... on l'a peut-être déjà rencontrée... pour le reste j'y regarde ce soir bon courage pour la suite [Edité le 3/3/2008 par sechanbask] ATEGIE - Bureau d'Études Fluideshttp://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.pngExécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffragewww.ategie.fr
tecnopat Posté(e) le 3 mars 2008 Auteur Posté(e) le 3 mars 2008 Excuses-moi, Sechanbask ,mais je n'ai pas bien vu la subtilité qu'il y avait entre : InStr(0, ThisDrawing.Blocks(i).Name, "C2005") et : je suis obligé de déclarer que ça appartient bien à VBA en faisant : InStr(0, ThisDrawing.Blocks(i).Name, "C2005") Pour l'API OpenFileDialog, je crois que je vais plutôt fonctionner par parcours de répertoires, et non par sélection manuelle de fichier, c'est donc pas la peine de de se prendre trop la tête sur ce code, d'autant plus que sur Developpez.com, forum "Général VBA", on m'a dit : http:// http://www.developpez.net/forums/showpost.php?p=3006905&postcount=2 Alors, bon... C'est tout de même étonnant qu'avec ma valeur "OpenFile.flags = &H201" çà marche, mais que je retombe sur l'ancienne Interface bien moche, alors que dans AUTOCAD, on peut sélectionner plusieurs fichiers dans par exemple "Fichier/Ouvrir". Y'a sûrement une solution, mais il faut être initié aux arcanes de la programmation système De Windows... :exclam: Amicalement
sechanbask Posté(e) le 3 mars 2008 Posté(e) le 3 mars 2008 excuse-moi j'ai modifié mon précédent post... pour la selection de répertoire j'avais trouver ça pour lovecraft : http://www.cadxp.com/sujetXForum-16978.htm ATEGIE - Bureau d'Études Fluideshttp://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.pngExécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffragewww.ategie.fr
tecnopat Posté(e) le 3 mars 2008 Auteur Posté(e) le 3 mars 2008 Salut !! Effectivement çà marche mieux avec VBA.Instr(...). Et le morceau de code pour sélectionner un répertoire aussi Merci encore
sechanbask Posté(e) le 3 mars 2008 Posté(e) le 3 mars 2008 de rien, je suis là pour ça ATEGIE - Bureau d'Études Fluideshttp://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.pngExécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffragewww.ategie.fr
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant