0

我正在尝试通过 maxscript 访问单个单元格的值,但我一直很难弄清楚究竟是什么让我无法这样做。这是我在 maxscript 中的内容:

-- Startup Ops
-- Generate a filename
excelFile = "<path string>\testbook.xlsx"

-- Start an Excel OLE Object
x = CreateOLEObject "Excel.Application"

-- Create a new workbook in the new excel document
x.application.Workbooks.open(excelFile)

-- This makes Excel Visible
x.visible = true



--Here's where I'm having trouble
-- Retrieve the contents of Cell A3
contents = x.ActiveSheet.Cells(3, 1).Value

-- Change the contents of Cell A3 to Hello
x.ActiveSheet.Cells(3, 1).Value = "Hello"



-- Cleanup Ops
-- Close the spreadsheet
x.application.ActiveWorkbook.Close

-- quit excel
x.quit()

-- Release the OLE Object
releaseOLEObject x

-- Release ALL OLE Objects, just in case
releaseAllOLEObjects()

这是我用来参考的msdn资源。据我所知,我跟踪了所有内容。如果有人可以提供帮助,我将不胜感激。

4

2 回答 2

0

我手头没有 Excel,但我认为应该是(x.ActiveSheet.Cells X Y).Value.

要么,要么你可以采取不同的路线,使用 .NET 和excellibrary

于 2013-06-13T07:13:16.060 回答
0

我只是想在这里添加一个对我有用的解决方案。我知道这是 7 年前的事了,我确信你解决了这个问题,但是你的代码真的帮助了我,我找不到任何类似的东西,所以这里是:

--Here's where I'm having trouble
-- Retrieve the contents of Cell A3
contents = x.ActiveSheet.Cells(3, 1).Value

-- Change the contents of Cell A3 to Hello
x.ActiveSheet.Cells(3, 1).Value = "Hello"

我用了:

contents = x.application.cells 3 1  
contents.value = "Hello"
于 2020-09-16T17:14:42.677 回答