2017-07-27 12 views
0

Ich möchte eine Linie in AutoCAD mit Excelvba zeichnen. Ich habe versucht, den folgenden Code, aber es gibt einige Laufzeitfehler Anzeige "Objekt unterstützt diese Eigenschaft oder Methode" in der vorletzten Zeile. Bitte helfen Sie mir, das zu beheben.Wie zeichnet man eine Linie in AutoCAD mit Excel VBA?

Dim point1(1 To 3) As Double 
Dim point2(1 To 3) As Double 
Dim lineobj As Object 
Dim myapp As Object 
Dim AcadDwg As AcadDocument 

Sub access_autocad() 
On Error GoTo ERRORHANDLER 
Set myapp = GetObject(, "autocad.application") 

ERRORHANDLER: 
    If Err.Description <> "" Then 
    Set myapp = CreateObject("autocad.application") 
    End If 
    myapp.Visible = True 
Set AcadDwg = myapp.ActiveDocument 
point1(1) = 0: point1(2) = 0 
point2(1) = 1: point2(2) = 1 
Set lineobj = AcadDwg.AddLine(point1, point2) 

End Sub 
+0

Wenn diese oder irgendeine Antwort Ihre Frage bitte die gelöst [akzeptieren es] (https://meta.stackexchange.com/ q/5234/179419) durch Klicken auf das Häkchen und Hochladen durch Klicken auf den Pfeil nach oben. Dies zeigt der breiteren Gemeinschaft, dass Sie eine Lösung gefunden haben. Es besteht keine Verpflichtung, dies zu tun. –

Antwort

0

Sie benötigen nur eine Änderung vornehmen. Auf der vorletzten Zeile ändern:

Set lineobj = AcadDwg.AddLine(point1, point2) 

An:

Set lineobj = AcadDwg.ModelSpace.AddLine(point1, point2) 
+0

Es funktioniert. Aber ich habe ein anderes Problem. Es funktioniert gut, wenn ich autocad zuerst öffne und diesen Code laufen lasse. Aber es kann autocad nicht automatisch öffnen, wenn ich es führe, ohne autocad zu öffnen. Es dauert lange und kann am Ende nicht geöffnet werden. Ich würde es sehr schätzen, wenn Sie mir hier helfen könnten. –

+0

Die gute Nachricht ist, dass Ihr Code wie erwartet auf meinem Computer funktioniert. Die schlechte Nachricht ist, ich weiß nicht genau, warum es nicht auf Ihrem Computer funktioniert. Ich habe das gelegentlich gesehen. –

Verwandte Themen