tenho uma macro que rodo no AutoCad 2013 normalmente, porem quando tento rodar no AutoCad 2018 da erro. alguém sabe o que fazer?
Obrigado.
está dando erro na primeira linha
Sub limites_ordenadas()
Dim excelApp As Excel.Application
Dim wbkObj As Workbook
Dim shtObj As Worksheet
Set excelApp = GetObject(, "excel.application")
Set shtObj = excelApp.ActiveSheet
Dim DesenhaLinha As Boolean
Dim linha, linhafinal As Integer
Dim ValOrdenada, ValOrdenadaAnterior, ValOrdenadaPosterior As Double
Dim ValEstaca, ValEstacaAnterior, ValEstacaPosterior As Double
Dim objLine As AcadLine
Dim startpoint(0 To 2) As Double
Dim endpoint(0 To 2) As Double
DesenhaLinha = False
linhafinal = InputBox("Digite o valor da linha final.")
If (ValOrdenadaAnterior > ValOrdenada And ValOrdenadaPosterior > ValOrdenada) Or (ValOrdenadaAnterior < ValOrdenada And ValOrdenadaPosterior < ValOrdenada) Then
DesenhaLinha = True
Else
DesenhaLinha = False
End If
If DesenhaLinha = True Then
startpoint(0) = ValEstaca
startpoint(1) = ValOrdenada / 100
startpoint(2) = 0#
endpoint(0) = ValEstaca
endpoint(1) = ValOrdenada + 10
endpoint(2) = 0#
Set objLine = ThisDrawing.ModelSpace.AddLine(startpoint, endpoint)
End If
Next
End Sub
Pergunta
ArthurS
boa noite .
tenho uma macro que rodo no AutoCad 2013 normalmente, porem quando tento rodar no AutoCad 2018 da erro. alguém sabe o que fazer?
Obrigado.
está dando erro na primeira linha
Sub limites_ordenadas()
Dim excelApp As Excel.Application
Dim wbkObj As Workbook
Dim shtObj As Worksheet
Set excelApp = GetObject(, "excel.application")
Set shtObj = excelApp.ActiveSheet
Dim DesenhaLinha As Boolean
Dim linha, linhafinal As Integer
Dim ValOrdenada, ValOrdenadaAnterior, ValOrdenadaPosterior As Double
Dim ValEstaca, ValEstacaAnterior, ValEstacaPosterior As Double
Dim objLine As AcadLine
Dim startpoint(0 To 2) As Double
Dim endpoint(0 To 2) As Double
DesenhaLinha = False
linhafinal = InputBox("Digite o valor da linha final.")
For linha = 14 To linhafinal Step 2
Editado por ArthurSValOrdenada = shtObj.Cells(linha, "t").Value
ValOrdenadaAnterior = shtObj.Cells(linha - 2, "t").Value
ValOrdenadaPosterior = shtObj.Cells(linha + 2, "t").Value
ValEstaca = shtObj.Cells(linha, "a").Value
ValEstacaAnterior = shtObj.Cells(linha - 2, "a").Value
ValEstacaPosterior = shtObj.Cells(linha + 2, "a").Value
If (ValOrdenadaAnterior > ValOrdenada And ValOrdenadaPosterior > ValOrdenada) Or (ValOrdenadaAnterior < ValOrdenada And ValOrdenadaPosterior < ValOrdenada) Then
DesenhaLinha = True
Else
DesenhaLinha = False
End If
If DesenhaLinha = True Then
startpoint(0) = ValEstaca
startpoint(1) = ValOrdenada / 100
startpoint(2) = 0#
endpoint(0) = ValEstaca
endpoint(1) = ValOrdenada + 10
endpoint(2) = 0#
Set objLine = ThisDrawing.ModelSpace.AddLine(startpoint, endpoint)
End If
Next
End Sub
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.