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"