【问题标题】:AutoCAD to ExcelAutoCAD 到 Excel
【发布时间】:2017-11-15 20:43:30
【问题描述】:

嗨,我如何从 AutoCad 访问电子表格并从中获取值并在 AutoCAD 上使用它 这是我的代码,但它没有得到值,它总是空的。不知道怎么回事

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

【问题讨论】:

  • Dim EXCELApplication 但你从来没有把它设置为任何东西。
  • 我编辑了它,但它仍然没有返回值
  • AcadToExcel 的值是多少?你在哪里学习如何做到这一点?您的代码非常不完整。
  • 值是动态的,它会改变..这不是所有代码,但这是应该给我价值的部分代码
  • 好的,我该怎么做?

标签: excel vba autocad


【解决方案1】:

我刚刚对此进行了测试,对我来说效果很好:

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

如果它不适合你,那么问题是你的文件名。

【讨论】:

  • 这可行,但问题是我希望它从中获取值的电子表格已经打开,现在代码所做的是打开一个新电子表格并且它没有值,如何我可以解决这个问题吗?
  • 改为查看GetObject(,"Excel.Application")
  • 我不确定我是否理解,我应该在那里指定我的特定电子表格还是什么?如何编写有效的“ActiveWorkbook”语法
  • 不要使用ActiveWorkbook - 一旦你有了Application 对象,解析WorkBooks 集合以获得你正在寻找的工作簿的名称。
  • 它只是打开另一个工作簿并将其命名为“AcadToExcel1”,当我再次运行它时它会打开并命名为“AcadToExcel2”等...我不知道如何解决这个问题
猜你喜欢
  • 1970-01-01
  • 2018-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-06
相关资源
最近更新 更多