R-Excel VBA: как извлечь значения, возвращаемые GetArrayToVBA? - PullRequest
2 голосов
/ 05 марта 2011

Я пытаюсь написать R-Excel vba addin и у меня проблемы с использованием GetArrayToVBA.

Пример:

RInterface.StartRServer
RInterface.RRun "mytst<-4"
Dim tstVar As Variant, tst As Double
tstVar = RInterface.GetArrayToVBA("mytst")
tst = CDbl(testVar)
MsgBox "count = " & CStr(tst)
RInterface.StopRServer

В результате в окне сообщения отображается count = 0.Я ожидал count = 4.

1 Ответ

2 голосов
/ 05 марта 2011

Это проблема VBA. Вы не можете типизировать массив 1x1 в double с помощью CDbl (), чтобы получить значение, которое находится в этом массиве. Вы должны дать ему индекс (0,0), который вы хотите из массива. Следующие работы:

RInterface.StartRServer
RInterface.RRun "mytst<-as.matrix(4)"
Dim tstVar As Variant, tst As Double
tstVar = RInterface.GetArrayToVBA("mytst")
tst = CDbl(tstVar(0, 0))
MsgBox "count = " & CStr(tst)
RInterface.StopRServer
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...