Чтение реальных значений из одной рабочей книги Excel в другую рабочую книгу при ее открытии - PullRequest
0 голосов
/ 17 апреля 2019

Я хотел бы иметь возможность читать и записывать значения с помощью VBA из одной рабочей книги OPEN Excel в другое приложение, не используя функцию «как рабочий лист», поскольку это приложение не для Windows. Возможно ли это?

Код, который я разместил, взят из приложения PLC, использующего скрипты.

Мне просто нужно знать, какую функцию использовать, кроме .open, поскольку файл уже открыт.

Dim objXLApp, objXLWb, objXLWs1, objXLWs2, objXLWs5

Set objXLApp = CreateObject("Excel.Application")

objXLApp.Visible = True

Set objXLWb = objXLApp.Workbooks.Open("File.xlsm")
'~~> Working with Sheet1
Set objXLWs1 = objXLWb.Sheets(1)
Set objXLWs2 = objXLWb.Sheets(2)
Set objXLWs5 = objXLWb.Sheets(5)

'~~>Write SetPoints to Sheet1
With objXLWs1

 '~~>Write 

 .Cells(6,23).value = SmartTags("Job Time Sec to OEE")
 .Cells(6,23).value = SmartTags("Run Time Sec to OEE")


End With

''~~>Write Setup Values to Sheet2

'~~> Save as Excel File (xls) to retain format
objXLWb.Save

objXLWb.Close (False)

Set objXLWs1 = Nothing
Set objXLWs2 = Nothing
Set objXLWs5 = Nothing
Set objXLWb = Nothing

objXLApp.Quit
Set objXLApp = Nothing

1 Ответ

0 голосов
/ 17 апреля 2019

Если рабочая книга уже открыта, вы можете просто назвать ее по имени как часть коллекции Workbooks. Set objXLWb = objXLApp.Workbooks("File.xlsm")

Редактировать: Поскольку вы изменили свой вопрос, я больше не уверен, что вы спрашиваете. Я предполагаю, что ваша «уже открытая» книга не открыта в том же экземпляре Excel, который вы создаете с помощью Set objXLApp = CreateObject("Excel.Application"), поэтому вам понадобится ссылка на существующее приложение Excel, а затем откройте Рабочая тетрадь в этом приложении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...