Excel y plantilla de AutoCad

08/04/2010 - 10:08 por guihe | Informe spam
Hola a todos,
A ver si se os ocurre algo. Tengo un codigo de VB en excel que abre
autocad y hace un dibujo de unos puntos. El caso es que yo quiero que
me abra una plantilla (que he creado) y ahí pinte los puntos, no sobre
un dibujo en blanco. Os dejo la parte del codigo que abre autocad por
si se os ocurre algo.
Gracias.
**************codigo**************
Private Function ConnToAcad() As AcadApplication
Dim Ac As AcadApplication
On Error Resume Next
Err.Clear
Set Ac = GetObject(, "Autocad.Application")
'LA SIGUIENTE LINEA NO FUNCIONA, PERO ES LO QUE QUIERO QUE ABRA
'Set Ac = GetObject("X:\D214\Edu\plantTEXT.dwt",
"Autocad.Application")
WasOpen = True
If Err Then ' Acad wasn't open
On Error GoTo ConnToAcadError
Set Ac = New AcadApplication
WasOpen = False
End If
On Error GoTo ConnToAcadError
Set ConnToAcad = Ac
On Error GoTo 0
Exit Function
ConnToAcadError:
MsgBox "Error " & Err.Number & " (" & Err.Description & _
") in procedure OpenExcl of Class Module ExcelHandlerCls"
On Error GoTo 0
End Function
*************FIN************************

Preguntas similare

Leer las respuestas

#1 pepe
08/04/2010 - 15:18 | Informe spam
Con el primer Set Ac estableces comunicación con Autocad.
Entiendo que deberías ver el modelo de objetos de Autocad para ver qué
método tienes que utilizar para abrir un fichero. Te paso un enlace que te
puede ayudar:

http://www3.uji.es/~jperis/dfao/apuntes/practica10.pdf




"guihe" escribió en el mensaje de noticias
news:
Hola a todos,
A ver si se os ocurre algo. Tengo un codigo de VB en excel que abre
autocad y hace un dibujo de unos puntos. El caso es que yo quiero que
me abra una plantilla (que he creado) y ahí pinte los puntos, no sobre
un dibujo en blanco. Os dejo la parte del codigo que abre autocad por
si se os ocurre algo.
Gracias.
**************codigo**************
Private Function ConnToAcad() As AcadApplication
Dim Ac As AcadApplication
On Error Resume Next
Err.Clear
Set Ac = GetObject(, "Autocad.Application")
'LA SIGUIENTE LINEA NO FUNCIONA, PERO ES LO QUE QUIERO QUE ABRA
'Set Ac = GetObject("X:\D214\Edu\plantTEXT.dwt",
"Autocad.Application")
WasOpen = True
If Err Then ' Acad wasn't open
On Error GoTo ConnToAcadError
Set Ac = New AcadApplication
WasOpen = False
End If
On Error GoTo ConnToAcadError
Set ConnToAcad = Ac
On Error GoTo 0
Exit Function
ConnToAcadError:
MsgBox "Error " & Err.Number & " (" & Err.Description & _
") in procedure OpenExcl of Class Module ExcelHandlerCls"
On Error GoTo 0
End Function
*************FIN************************
Respuesta Responder a este mensaje
#2 Federico
08/04/2010 - 17:51 | Informe spam
Disculpen que haga esta prueba, pero envío mails y no llegan.


Federico

"pepe" escribió en el mensaje de noticias
news:
Con el primer Set Ac estableces comunicación con Autocad.
Entiendo que deberías ver el modelo de objetos de Autocad para ver qué
método tienes que utilizar para abrir un fichero. Te paso un enlace que
te puede ayudar:

http://www3.uji.es/~jperis/dfao/apuntes/practica10.pdf




"guihe" escribió en el mensaje de noticias
news:
Hola a todos,
A ver si se os ocurre algo. Tengo un codigo de VB en excel que abre
autocad y hace un dibujo de unos puntos. El caso es que yo quiero que
me abra una plantilla (que he creado) y ahí pinte los puntos, no sobre
un dibujo en blanco. Os dejo la parte del codigo que abre autocad por
si se os ocurre algo.
Gracias.
**************codigo**************
Private Function ConnToAcad() As AcadApplication
Dim Ac As AcadApplication
On Error Resume Next
Err.Clear
Set Ac = GetObject(, "Autocad.Application")
'LA SIGUIENTE LINEA NO FUNCIONA, PERO ES LO QUE QUIERO QUE ABRA
'Set Ac = GetObject("X:\D214\Edu\plantTEXT.dwt",
"Autocad.Application")
WasOpen = True
If Err Then ' Acad wasn't open
On Error GoTo ConnToAcadError
Set Ac = New AcadApplication
WasOpen = False
End If
On Error GoTo ConnToAcadError
Set ConnToAcad = Ac
On Error GoTo 0
Exit Function
ConnToAcadError:
MsgBox "Error " & Err.Number & " (" & Err.Description & _
") in procedure OpenExcl of Class Module ExcelHandlerCls"
On Error GoTo 0
End Function
*************FIN************************
Respuesta Responder a este mensaje
#3 Héctor Miguel
09/04/2010 - 00:24 | Informe spam
hola, guille !

yo lo haria de esta forma (comprueba si abrir la plantilla obliga al usuario a cambiar el nombre ?)

' ya esta corriendo autocad ? '
on error resume next
set Ac = getobject(, "autocad.application")
' si ya esta corriendo, nos vamos a abrir la plantilla '
if err = 0 then goto abreDWT
' autocad NO esta corriendo, procedemos a instanciarlo '
set Ac = createobject("autocad.application")
abreDWT:
on error goto 0
Ac.visible = true
' abrimos el documento plantilla '
Ac.documents.open "x:\d214\edu\planttext.dwt"

saludos,
hector.

__ OP __
A ver si se os ocurre algo. Tengo un codigo de VB en excel que abre autocad y hace un dibujo de unos puntos.
El caso es que yo quiero que me abra una plantilla (que he creado) y ahí pinte los puntos, no sobre un dibujo en blanco.
Os dejo la parte del codigo que abre autocad por si se os ocurre algo.

Private Function ConnToAcad() As AcadApplication
Dim Ac As AcadApplication
On Error Resume Next
Err.Clear
Set Ac = GetObject(, "Autocad.Application")
'LA SIGUIENTE LINEA NO FUNCIONA, PERO ES LO QUE QUIERO QUE ABRA
'Set Ac = GetObject("X:\D214\Edu\plantTEXT.dwt", "Autocad.Application")
WasOpen = True
If Err Then ' Acad wasn't open
On Error GoTo ConnToAcadError
Set Ac = New AcadApplication
WasOpen = False
End If
On Error GoTo ConnToAcadError
Set ConnToAcad = Ac
On Error GoTo 0
Exit Function
ConnToAcadError:
MsgBox "Error " & Err.Number & " (" & Err.Description & _
") in procedure OpenExcl of Class Module ExcelHandlerCls"
On Error GoTo 0
End Function
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida