2017-11-15 6 views
0

Hallo Wie kann ich eine Tabelle von AutoCad zugreifen und einen Wert von dort nehmen und es auf AutoCAd verwenden Hier ist mein Code, aber es bekommt nicht den Wert, es ist immer leer. Sie wissen nicht, wasAutoCAD nach Excel

Sub move() 
Dim EXCELApplication As Object 
Dim ExcelWorksheet As Object 

Set EXCELApplication = CreateObject("Excel.Application") 
EXCELApplication.workbooks.Open AcadToExcel 
EXCELApplication.Visible = True 
Set ExcelWorksheet = EXCELApplication.ActiveWorkbook.Sheets("Sheet1") 

modelsize = ExcelWorksheet.Cells(21, 3).Value 

Size = modelsize 

End Sub 
+0

Sie 'Dim EXCELApplication', aber Sie setzen es nie auf etwas. – braX

+0

Ich habe das bearbeitet, aber es gibt immer noch keinen Wert – Kwezi

+0

Was ist der Wert von 'AcadToExcel'? Wo lernst du das? Ihr Code ist sehr unvollständig. – braX

Antwort

2

falsch ich das gerade getestet und es funktioniert für mich ganz gut:

Public Sub GetFromExcel() 
    Dim sFile As String 
    sFile = "C:\Users\" & Environ$("Username") & "\Desktop\Test2.xlsx" 
    Dim EXCELApplication As Object 
    Dim ExcelWorksheet As Object 
    Dim sValue As String 

    Set EXCELApplication = CreateObject("Excel.Application") 
    EXCELApplication.workbooks.Add sFile 
    EXCELApplication.Visible = True 
    Set ExcelWorksheet = EXCELApplication.ActiveWorkbook.Sheets("Sheet1") 

    sValue = ExcelWorksheet.Range("A1").Value 

    MsgBox sValue 

End Sub 

Wenn es Arbeit für Sie tut, dann ist das Problem der Dateiname.

+0

Das funktioniert, aber das Problem ist, dass die Tabelle, die ich möchte, dass es den Wert ausnimmt, bereits geöffnet ist, was der Code tut, um eine neue Tabelle zu öffnen, und es hat nicht den Wert, wie kann ich darüber gehen? – Kwezi

+0

Schauen Sie stattdessen in 'GetObject (," Excel.Application ")' '. – braX

+0

Ich bin nicht sicher, ob ich verstehe, sollte ich meine spezifische Tabelle dort angeben oder was? Wie kann ich eine "ActiveWorkbook" -Syntax schreiben, die funktioniert – Kwezi