2017-07-27 4 views
0

excelvbaを使ってオートキャドに線を描きたい。 次のコードを試しましたが、最後の2行目に「オブジェクトがこのプロパティまたはメソッドをサポートしていません」と表示されるランタイムエラーが発生します。 これを解決してください。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

このまたは任意の答えはあなたの質問を解決した場合(https://meta.stackexchange.com/ [それを受け入れる]をご検討くださいq/5234/179419)をクリックし、上向き矢印をクリックして上向きにします。これは、解決策を見つけたことを広範なコミュニティに示します。これを行う義務はありません。 –

答えて

0

あなただけの1つの変更を加える必要があります。

Set lineobj = AcadDwg.AddLine(point1, point2) 

:最後の行、変更の隣で

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

それは動作します。しかし、私は別の問題があります。私は最初にautocadを開いてこのコードを実行するとうまく動作します。しかし、私はautocadを開かないと自動的にautocadを開くことはできません。それは長い時間がかかり、最後に開くことができません。ここで私を助けることができれば、とても感謝しています。 –

+0

良いニュースはあなたのコードが私のマシン上で期待どおりに動作することです。悪い知らせは、なぜあなたのマシンで動作しないのか正確にはわかりません。私は時々これを見ました。 –

関連する問題