| Você está aqui: AutoCAD VBA ::: AutoCAD + Excel ::: Controlar o AutoCAD a partir do Excel | 
| Como acessar o AutoCAD a partir do Excel e retornar sua versãoQuantidade de visualizações: 436 vezes | 
| Nesta dica eu mostro os passos iniciais para iniciar uma interação com o AutoCAD a partir do Excel. O único conhecimento necessário é a habilidade básico de criação de macros simples no Excel usando o Editor Visual Basic (visível na aba Desenvolvedor). Antes de executar o código abaixo, adicione uma referência ao AutoCAD 2021 Type Library (o seu deve ser bem parecido, dependendo da sua versão do AutoCAD). Para isso vá em Ferramentas -> Referências. Localize a biblioteca AutoCAD 2021 Type Library, use os botões de prioridade para jogá-lo o mais alto que puder e clique o botão OK. Depois de adicionada a referência, nós definimos duas variáveis públicas, uma do tipo AcadApplication e outra do tipo AcadDocument. A variável AcadApplication representará o objeto AutoCAD, enquanto AcadDocument representará o documento ativo no AutoCAD. Para acessar o AutoCAD a partir do Excel nós usamos uma chamada à função Interaction.GetObjec(, "AutoCAD.Application"), que pode também ser Interaction.GetObject(, "AutoCAD.Application.22"). O restante do código está bem comentado e fácil de entender. Veja o código Excel VBA completo para o exemplo: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
' Não se esqueça de adicionar a referência ao
' AutoCAD 2021 Type Library
' Ferramentas -> Referências -> AutoCAD 2021 Type Library
' Mova esta referência o mais alto que puder usando as
' setas para cima e para baixo
Option Explicit
' vamos declarar a variável que representará a aplicação AutoCAD
Public acadApp As AcadApplication
' e uma variável para representar o documento do AutoCAD
Public acadDoc As AcadDocument
' corpo da macro que acessa o AutoCAD e retorna a sua versão
Sub AcessarAutoCAD()
  ' em caso de erro
  On Error Resume Next
         
  ' vamos obter a aplicação AutoCAD
  Set acadApp = Interaction.GetObject(, "AutoCAD.Application")
  ' poderia ser também
  ' Set acadApp = Interaction.GetObject(, "AutoCAD.Application.22")
     
  ' houve erro?
  If Err Then
    ' vai mostrar na janela de Verificação imediata
    Debug.Print "Erro: " & Err.Number
    Debug.Print Err.Description
    Debug.Print "Iniciando o AutoCAD"
    Err.Clear
                       
    ' criamos uma nova instância do objeto AcadApplication
    Set acadApp = New AcadApplication
    ' poderia ser também
    ' Set acadApp = Interaction.CreateObject("AutoCAD.Application.22")
         
    ' tornamos a aplicação visível na tela
    acadApp.Visible = True
         
    ' houve erro
    If Err Then
      MsgBox "Erro: " & Err.Description
      Exit Sub
    End If
  End If
     
  ' Se chegou até aqui, então deu tudo certo
  Debug.Print "Executando " + acadApp.Name + " versão " + acadApp.Version
          
  ' obtemos o documento ativo
  Set acadDoc = acadApp.ActiveDocument
  ' não existe documento aberto no AutoCAD?
  If acadDoc Is Nothing Then
    ' criamos um novo documento
    Set acadDoc = acadApp.Documents.Add
  End If
   
  ' não há espaço ativo?
  If acadDoc.ActiveSpace = 0 Then
    acadDoc.ActiveSpace = 1
  End If
End Sub
Ao executar esta macro no Excel nós teremos o seguinte resultado: Executando AutoCAD versão 24.2s (LMS Tech) Note que a mensagem Debug.Print será exibida na Janela de Verificação do Microsoft Visual Basic for Application. Se essa janela não estiver visível, vá em Exibir -> Janela "Verificação Imediata". | 
|  Link para compartilhar na Internet ou com seus amigos: | 
| Veja mais Dicas e truques de AutoCAD VBA | 
| Dicas e truques de outras linguagens | 
| PHP - PHP para iniciantes - Como obter a diferença em horas entre duas datas (e suas respectivas horas) | 
| E-Books em PDF | ||||
| 
 | ||||
| 
 | ||||
| Linguagens Mais Populares | ||||
| 
			   1º lugar: Java | 


 
 





