Sup62
Messages postés13Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention22 avril 2005
-
19 avril 2005 à 00:27
Sup62
Messages postés13Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention22 avril 2005
-
19 avril 2005 à 15:38
Bonjour,
je suis en train d'essayer de réaliser des liaisons entre excel et
autocad par vba dans le cadre d'un projet scolaire mais j ai un
problème dans mon code, pourtant il m'a l'air d'être bon, cela provient
ptet des références à cocher sous microsoft visual basic, voici le code:
Sub Liaison()
Dim objAcad As AutoCAD.Application
Set objAcad = createobjet("autocad.application")
objAcad.Showme
objAcad.Visible = True
End Sub
Et les références de microsoft VB que j ai rajouté:
- Autocad 2005 type library
- Autocad focus control for VBA type library
- Autocad/ObjectDBX Common 16.0 Type library
Donc voila, dans l'espoir que quelqu'un ai une solution à proposer:)
Dje69r
Messages postés35Date d'inscriptionvendredi 7 mars 2003StatutMembreDernière intervention11 septembre 2005 19 avril 2005 à 10:56
Kikou
déja c'est Set objAcad = createobjeCt("autocad.application")
Ensuite le .showme je ne connais pas perso...
Et euh la avec ca je ne comprends pas du tout ce que tu veux faire...
Sup62
Messages postés13Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention22 avril 2005 19 avril 2005 à 11:32
Salut Dje et merci
ouép ptite erreur de syntaxe, en rectifiant, ca donne ca et ca marche:
Dim objAcad As Object
Set objAcad = CreateObject("autocad.application")
objAcad.Visible = True
en fait sous excel, j ai une colonne de commandes de dessin autocad, exemple simple:
<col style=\"width: 60pt;\" width=\"80\">
----
rectangle,
----
0,0,
----
100,50,
----
region,
----
tout,
----
,
----
propmeca
tout
ce que je cherche à faire dans un premier temps, c'est ouvrir autocad
et y coller cette colonne dans la fenêtre de commandes, je mets
ca mais ca déconne une fois de plus:
Range("I13:I22").Select
Selection.Copy
Dim objAcad As Object
Set objAcad = CreateObject("autocad.application")
objAcad.Visible = True
With objAcad
.Selection.Paste
End With
Ca m'ouvre autocad mais il me met une erreur au niveau du paste
Sup62
Messages postés13Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention22 avril 2005 19 avril 2005 à 13:53
J'ai rajouté une ligne de commande, ca donne ca:
Sub Liaison()
Range("I13:I22").Select
Selection.Copy
Dim objAcad As Object
Set objAcad = CreateObject("autocad.application")
objAcad.Visible = True
With objAcad
.SendKeys "{F2}"
.Selection.Paste
End With
End Sub
Il me met toujours une erreur au sendkeys "F2" qui normalement
devrait activer et ouvrir en plus grand la fenetre de commandes sous
autocad et erreur aussi au niveau du paste, il me sort propriété non
gérée par l'objet sur les 2 lignes
Dje69r
Messages postés35Date d'inscriptionvendredi 7 mars 2003StatutMembreDernière intervention11 septembre 2005 19 avril 2005 à 14:41
lol, faut pas le mettre dans le with... c'est pas une fonction autocad, mais d'excel le sendkeys, autant pour moi...
Sub Liaison()
Range("I13:I22").Select
Selection.Copy
Dim objAcad As Object
Set objAcad = CreateObject("autocad.application")
objAcad.Visible = True
SendKeys "{F2}"
End Sub
Juste une question, une derniere hein, lol, la fenetre de commande, elle a pas plusieur controle de saisie ??? Et coller une colonne entiere d'excel directement dans le contole d'autocad me parait audacieu....
Sup62
Messages postés13Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention22 avril 2005 19 avril 2005 à 15:38
le problème avec ton code, c'est après avoir rendu visible autocad, il
réalise le sendkeys quand même sous excel, d'ou l'utilité du with, sans
quoi, j ai essayé de travailler sans le with en faisant comme ca, ce
qui revient au même:
Range("I13:I22").Select
Selection.Copy
Dim objAcad As Object
Set objAcad = CreateObject("autocad.application")
objAcad.Visible = True
objAcad.SendKeys "{F2}" & "^v"
et comme ça, même problème causé par le sendkeys, il me met: propriété ou méthode non gérée par l'objet