Visual Basic para Aplicaciones - Rastreo desde visual basic 6 en en Autocad-urgente

Life is soft - evento anual de software empresarial
 
Vista:

Rastreo desde visual basic 6 en en Autocad-urgente

Publicado por EagleFlyFree (1 intervención) el 21/02/2006 10:35:14
Buenos dias!

Tengo una aplicación que guarda planos .dwg. Estos planos tienen un .tif incrustado, y lo que la aplicación tiene que hacer es detectar que tiene ese .tif incrustado, cogerme el nombre y copiar a otra carpeta el -dwg y el .tif. El codigo que tengo es el siguiente, donde ejecuta el Autocad y en teoría tendría que coger el .tif. No se donde está el fallo o si falta algo. Os agradecería mucho si me ayudarais, es muy importante.

Dim orden As String
Dim objAcad As Object
Dim objDoc As Object
Dim DwgName As String
Dim extApp As ActiveXExtension
Dim entType As Integer
Dim entry As Object
Dim raster As String
Dim Autocad_04, prueba As String
Dim retval

On Error Resume Next

Set objAcad = GetObject(, "AutoCAD.Application")

If Err Then
Err.Clear

retval = Shell("C:\Archivos de programa\Autodesk\Acadm 2004 DX\acad.exe")

If Err Then
MsgBox Err.Description
Screen.MousePointer = vbDefault
Exit Sub
Else

LinkApp lblHead, "AutoCAD.2004", "System"
Dim strcmd As String
strcmd = "_quit" + vbLf
lblHead.LinkExecute strcmd

Set objAcad = CreateObject("AutoCAD.Application")

objAcad.Visible = True
Set objDoc = objAcad.ActiveDocument

DwgName = AnadirRuta

If objDoc.FullName <> DwgName Then
objDoc.Open DwgName
End If

Set extApp = objAcad.GetInterfaceObject("ActiveXExtension.Application.1")
For Each entry In objDoc.ModelSpace
entType = entry.EntityType
If entType = 26 Then
raster = extApp.GetRasterImageFile(entry)
fichero_raster = raster
End If
Next
If raster <> "" Then
Dim fichero As String
Dim sextx As String

sextx = Right(raster, 3)
fichero = NumeroPlano + "_" + QueRevision + "." + sextx

Dim strcmd2 As String
strcmd = "-image" + vbLf + "c" + vbLf + "*" + vbLf + fichero + vbLf
strcmd2 = "filedia" + vbLf + "0" + vbLf + "._save" + vbLf + "" + vbLf + "_y" + vbLf + "filedia" + vbLf + "1" + vbLf

LinkApp lblHead, "AutoCAD.2004", "System"

lblHead.LinkExecute strcmd
lblHead.LinkExecute strcmd2
End If
Screen.MousePointer = vbDefault

objAcad.Quit
objAcad.nothing
End If

End If

Muchas gracias y un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder