IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Piloter Autocad 2009 avec Excel [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Mut
    Mut est déconnecté
    Membre éprouvé Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Par défaut Piloter Autocad 2009 avec Excel
    Bonjour,

    Je souhaiterais faire une manip avec Autocad mais par le biais d'Excel. Je souhaite en fait ouvrir autocad, executer une commande (par exemple "save",puis refermer autocad.

    J'ai chercher et j'ai fait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Set AcadApp = New AutoCAD.AcadApplication
    AcadApp.Visible = True
    AcadApp.Documents.Open "c:\test.dwg"
    Set AcadDoc = GetObject(, "Autocad.Application").ActiveDocument
    AcadDoc.SendCommand ("save")
    Mais malheureusement rien ne fonctionne....j'ai ajouté comme librairie "Autocad 2009 type library"

    Si quelqu'un peut m'aider...

    Merci

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Ceci fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub Test_Autocad()
    'Nécessite la référence Autocad xxx Type Library
    Dim AcadApp As AcadApplication, AcadPlan As AcadDocument
     
    Set AcadApp = New AcadApplication
    AcadApp.Visible = True
     
    Set AcadPlan = AcadApp.Documents.Open("D:\Temp\test.dwg")
     
    AcadPlan.Save
    AcadPlan.Close
    AcadApp.Quit
     
    Set AcadApp = Nothing
    Set AcadPlan = Nothing
     
    End Sub

  3. #3
    Mut
    Mut est déconnecté
    Membre éprouvé Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Par défaut
    Impeccable ça fonctionne bien !

    J'essais maintenant d'insérer une commande "importdgn" avec ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    AcadPlan.SendCommand "importdgn"
    La commande s'insère bien mais se se valide pas....

    Une fois validée, Je souhaiterais par la suite pouvoir spécifier un nom de fichier sans l'intervention de l'utilisateur...



    Merci

    Bon j'arrive à valider par le biais de "vbcr" mais ensuite il m'ouvre une fenetre où je dois sélectionner le fichier à importer....mais je souhaiterais l'indiquer automatiquement si c'est possible.

    Merci

    EDIT : C'est bon c'est résolu, il y avait une variable systeme autocad qui permettait de supprimer l'affichage des boites de dialogues !!


    Merci beaucoup pour ton aide

  4. #4
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    J'ai essayer de manipuler
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Acadplan.Import("...") mais sans résultat
    Tu peux me tuyauter sur cette variable système ? ça m'intéresse

  5. #5
    Mut
    Mut est déconnecté
    Membre éprouvé Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Par défaut
    Oui pardon désolé.

    La variable système est filedia qu'il faut passer à 0 mais en fait je suis confronté à un problème similaire car après quelques manip, il fait apparaitre de nouveau une fenetre pour spécifier des paramètres de conversion que j'aimerais rentrer automatiquement.....mais je bloque. Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     
    Sub Bouton1_Clic()
     
    Dim AcadApp As AcadApplication, AcadPlan As AcadDocument
     
    Set AcadApp = New AcadApplication
    AcadApp.Visible = True
     
    Set AcadPlan = AcadApp.Documents.Open("c:\test.dwg")
     
    AcadPlan.SendCommand "filedia" & vbCr & "0" & vbCr
    AcadPlan.SendCommand "importdgn" & vbCr & "c:\test.dgn" & vbCr 
    MsgBox "test"
    AcadPlan.SaveAs "c:\dgnconverti.dwg"
    AcadPlan.Close
    AcadApp.Quit
     
    Set AcadApp = Nothing
    Set AcadPlan = Nothing
     
    End Sub
    En fait il faudrait que je puisse entrer les paramètres directement après le nom du fichier...mais il m'ouvre une fenetre à la place pour que je les saisisse manuellement meme avec la variable filedia à 0....

  6. #6
    Mut
    Mut est déconnecté
    Membre éprouvé Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Par défaut
    bon j'ai un peu avancé...non sans mal, il me reste à trouver comment changer le focus du dessin dans l'application.

    J'ai essayé ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    ActiveDocument = AcadApp.Documents("dessin2.dwg").Activate
    ou 
    ActiveDocument = AcadApp.Documents(1).Activate
    mais sans résultat...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. piloter port parallele avec excel vba
    Par elephanto dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/03/2009, 15h46
  2. "Piloter" VB 2005 avec Excel 2003
    Par marine18 dans le forum VB.NET
    Réponses: 1
    Dernier message: 15/01/2008, 23h11
  3. Piloter une interface avec des relais
    Par Yepazix dans le forum API, COM et SDKs
    Réponses: 13
    Dernier message: 26/10/2004, 19h46
  4. [C#] [EXCEL] Travailler avec EXCEL sans ouvrir le logiciel
    Par Fabsou dans le forum Windows Forms
    Réponses: 3
    Dernier message: 16/07/2004, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo