Version information and available resources


Current versions:

  • R 3.2.4revised
  • rcom 3.1-2
  • rscproxy 2.0-5
  • statconnDCOM server 3.6-0B3
  • RExcel 3.2.14 (for 32bit Excel)
  • RExcel 3.5.1 (for 64bit Excel)

The current version of R is always available from
Choose any of the CRAN mirrors listed there to download official R software.
rcom is available as an R package from CRAN. The statconnDCOM server is available from our download page. always has the latest versions.

The current versions of rcom and statconnDCOM server only work with R 2.8.1 and later. We are not supporting earlier versions of this software.

Checking whether installed RExcel version is recent

Newer versions of RExcel may have additional VBA functions that are not present on older versions. For example, GetRApply and PutPivottable were introduced with RExcel 3.1.0. If your workbook depends on the new features, then you may wish to add a line to your workbook's Workbook_Open macro asking your users to update their RExcel version. One way to do that is to copy this code to an RExcelVersion module in your workbook.

Option Explicit
Sub RExcelVersionMsg()
  Dim result As Long
  result = MsgBox( _
    "Workbook " & ActiveWorkbook.Name & _
    " requires a newer version of RExcel " & vbCrLf & _
    "than the " & RExcelVersionFromRegistry & " currently installed.  " & _
    "To update, please either" & vbCrLf & _
    "     (1) shift-click on the RExcel menu item and then click" & vbCrLf & _
    "              Check for Update" & vbCrLf & _
    "or" & vbCrLf & _
    "     (2) get detailed update instructions at the R prompt by entering" & _
    vbCrLf & _ 
    "              ?RExcelInstaller::installRExcel", , "RExcel Version")
End Sub
Function RExcelVersionFromRegistry() As String
    Dim myWS As Object
    On Error Resume Next
    Set myWS = CreateObject("WScript.Shell")
    RExcelVersionFromRegistry = _
End Function
Function RExcelVersionOK(Major As Long, Minor As Long, Patchlevel As Long) _
   As Boolean
' Argument values are the miniumum version of RExcel that is needed by this
' workbook.  (3,0,18) indicates you need at least version 3.0.18.
  Dim REVReg As String
  REVReg = RExcelVersionFromRegistry()
  RExcelVersionOK = (Len(REVReg) > 0)
  If Not RExcelVersionOK Then Exit Function
  RExcelVersionOK = _
    LongNumberFrom(NumericPart(REVReg, 1), _
                   NumericPart(REVReg, 2), _
                   NumericPart(REVReg, 3)) >=  _
    LongNumberFrom(Major, Minor, Patchlevel)
End Function
Function NumericPart(inString As String, parNumber As Integer) As Long
  Dim dotPos As Integer
  dotPos = InStr(inString, ".")
  If parNumber = 1 Then
      If dotPos > 0 Then
          NumericPart = CLng(Left(inString, dotPos - 1))
          NumericPart = CLng(inString)
      End If
      Exit Function
  End If
  NumericPart = NumericPart(Mid(inString, dotPos + 1), parNumber - 1)
End Function
Function LongNumberFrom(hi As Long, middle As Long, lo As Long) As Long
  LongNumberFrom = 1000000 * hi + 1000 * middle + lo
End Function

Then include the line, for example,

If Not RExcelVersionOK(3, 1, 0) Then RExcelVersionMsg

in your Workbook_Open in the ThisWorkbook code of your workbook

Private Sub Workbook_Open()
    If Not RExcelVersionOK(3, 1, 0) Then RExcelVersionMsg
End Sub

This line will pop a message box for versions of RExcel older than 3.1.0. It will ask the user to update, and give the user information on how to update.

More information

There is a mailing list do discuss all the programs described above. To subscribe, go to

Help for all official R packages in available from

Personal Tools