Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AutoCAD到Excel_Excel_Vba_Autocad - Fatal编程技术网

AutoCAD到Excel

AutoCAD到Excel,excel,vba,autocad,Excel,Vba,Autocad,您好,我如何从AutoCad访问电子表格并从中获取值并在AutoCad上使用它 这是我的代码,但它没有得到值,它总是空的。不知道怎么了 Sub move() Dim EXCELApplication As Object Dim ExcelWorksheet As Object Set EXCELApplication = CreateObject("Excel.Application") EXCELApplication.workbooks.Open AcadToExcel EXCELAppl

您好,我如何从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

我刚刚测试了这个,它对我来说很好:

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

如果它对您不起作用,那么问题是您的文件名。

我刚刚测试了这个,它对我来说很好:

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


如果它对您不起作用,那么问题是您的文件名。

Dim EXCELApplication
但您从未将其设置为任何值。我编辑了它,但它仍然没有返回值
AcadToExcel
的值是多少?你在哪里学的?您的代码非常不完整。该值是动态的,它会更改。。这不是全部代码,但这是应该给我值的代码部分好的,我该怎么做?你
Dim excel application
但你从未将其设置为任何值。我编辑了它,但它仍然没有返回值
AcadToExcel
的值是什么?你在哪里学的?您的代码非常不完整。该值是动态的,它会更改。。这不是全部代码,但这是代码中应该给我值的部分好吧,我怎么做?这是可行的,但问题是我想要它获取值的电子表格已经打开了,现在代码要做的是打开一个新的电子表格,但它没有值,我该怎么做呢?改为查看
GetObject(,“Excel.Application”)
。我不确定我是否理解,我应该在那里指定我的特定电子表格还是什么?如何编写一个“ActiveWorkbook”语法而不使用
ActiveWorkbook
-一旦你有了
应用程序
对象,解析
工作簿
集合以查找工作簿的名称。它只会打开另一个工作簿并将其命名为“AcadToExcel1”,当我再次运行它时,它会打开并命名为“AcadToExcel2”等等…我不知道如何解决这个问题,但问题是我想要它从中获取值的电子表格已经打开了,现在代码所做的是打开一个新的电子表格,但它没有值,我该怎么做?改为查看
GetObject(,“Excel.Application”)
。我不确定我是否理解,我应该在那里指定我的特定电子表格还是什么?如何编写一个“ActiveWorkbook”语法而不使用
ActiveWorkbook
-一旦你有了
应用程序
对象,解析
工作簿
集合以查找工作簿的名称。它只会打开另一个工作簿并将其命名为“AcadToExcel1”,当我再次运行它时,它会打开并命名为“AcadToExcel2”等等…我不知道如何补救