Maxscript и Excel: получение / изменение значения ячейки

Я пытаюсь получить доступ к значению отдельной ячейки с помощью 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, который я использовал для справки. Насколько я знаю, я следовал за всем к T. Если бы кто-нибудь мог помочь, я был бы очень признателен.

1 ответ

Решение

У меня нет Excel под рукой, но я считаю, что лучше (x.ActiveSheet.Cells X Y).Value,

Либо так, либо вы можете выбрать другой маршрут, использовать.NET и отлично.

Я просто хотел добавить сюда решение, которое сработало для меня. Я знаю, что это было 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"
Другие вопросы по тегам