philwil Posté(e) le 21 novembre 2005 Posté(e) le 21 novembre 2005 Bonjour à tous... J'utilisais le code vba ci-dessous pour fermer autocad 2002 si les cadeursdu bureau n'avaient pas charger la bonne version de AutoCAD.dvb. Je pouvais remarquer directement si l'ensemble des utilisateurs étaientbien à jour.Avec autocad 2005 je n'ai pas trouvé la possibilité d'utiliser ce code àl'ouverture d'autocad. Ce que je souhaite c'est que ce code "run" automatiquement à l'ouvertured'autocad , et qu'il ferme autocad si la date est dépassée. Merci. Philwil. Sub Acadstartup()' choisir la date mois/jour/ann�e If Now() > #11/15/2005# Then MsgBox "ATTENTION vous utilisez une ancienne version AutoCAD.dvb... Cedessin va être fermé" Dim DOC As AcadDocument ''If there are no open documents, then exit ''If there then no close documents, then exit If Documents.Count = 0 Then MsgBox "There are no open documents!" Exit Sub End If ''' Close all open documents For Each DOC In Documents If MsgBox("Do you wish to close the document: " & DOC.WindowTitle,vbYesNo & vbQuestion) = vbYes Then If DOC.FullName <> "" Then DOC.Close DOC.Exit Else MsgBox DOC.Name & " has not been saved yet, so it will not be closed." End If End If Next End IfEnd Sub
Pako Posté(e) le 22 novembre 2005 Posté(e) le 22 novembre 2005 Voici un pti-coup de main..... J'ai simplifié ton code, le IF pour vérifierle nombre de dessin (Documents.Count) ouvertme semble inutile. Car par défaut à l'ouverture dulogiciel, un dessin s'ouvre....donc Documents.Count est toujours > 0durant l'exécution du Acadstartup()...... coder avec 2006 ! Sub Acadstartup() .....' Choisir la date mois/jour/annee.....Const strDate = #11/15/2005# .....' Si la date n'est pas valide.....If Now() > strDate Then..........MsgBox "ATTENTION vous utilisez une ancienne version AutoCAD.dvb... Ce dessin va être fermé" ..........' Fermer le ou les dessins ouverts par défaut (drawing1.dwg) ou par sélection..........Dim DOC As AcadDocument..........For Each DOC In Documents...............DOC.Close 'Fermer le dessin..........Next ..........' Fermer le logiciel..........Application.quit .....End IfEnd Sub l'ACADien ! http://img124.exs.cx/img124/7999/start.gif
philwil Posté(e) le 22 novembre 2005 Auteur Posté(e) le 22 novembre 2005 Merci Pako pour ton aide... J'ai un dernier petit problème avec ce code VBA que tu m'as communiqué. J'ai collé ce dernier dans le VB éditeur (dans ThisDrawing et non dans un Module) ...ensuite le tout sauvé dans AutoCAD.dvb. Au démarage d'AutoCAD 2005 la macro n'est pas lancée automatiquement je dois passer par _vbarun manuellement pour activer cette macro alors que je souhaite que Acadstartup() se lance de façon transparente. Dois-je ajouter une ligne dans AutoCAD.mnu pour forcer la lecture de cette macro à l'ouverture d'AutoCAD, ou dois-je faire autre chose ???. Moi pas savoir.... Pour info mon fichier AutoCAD.dvb se trouve sur ...AutoCAD 2005\support\acad.dvb.Le fichier AutoCAD.mnu est d'origine. et le fichier AutoCAD.dwg est également d'origine. Le but final de la manœuvre reste bien entendu la fermeture forcée d'AutoCAD et l'impossibilité de travailler avec ce dernier sans écraser l'acad.dvb par une version plus récente. Merci pour ton aide... Philwil ... (du fond de la Belgique... un CADeur travail en nocturne...)
Pako Posté(e) le 23 novembre 2005 Posté(e) le 23 novembre 2005 Premièrement, coller le code dans un module. Deuxièmement, créer un fichier (notepad) nommé : ACAD.RX (dans le même répertoire que ton AutoCAD.dvb) Troixièmement, écrire AcVba.arx à l'intérieur de ce fichier. Quatrièment, redémarrer AutoCAD. Cinquièment, fait une donation à CADxp... ICI pour encourager cette outil d'aide ! amicalement, :D l'ACADien ! http://img124.exs.cx/img124/7999/start.gif
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