Skip to Content


I have an existing input form with VBA that has been working reliablyy on the EPM Add-In for BPC V25. We have just installed a PC with Analysis for Office 2.4.2 and this comes with the EPM Add-in as an included component. There are three dlls

  • EPMOfficeActiveX.dll
  • FPMXLClient.dll
  • FPMXLClient.OLAPUtilities.dll

that usually reside in C:\Program Files (X86) SAP BusinessOnbjects\EPM-AddIn\. On the new installation they reside in a different folder

C:\Program Files (X86) SAP BusinessObjects\OfficeAddin\Plugsins\EPM-AddIn


As a result the code no longer runs and throws an error saying the dlls can't be found. There is a SAP note that describes a solution but it is incorrect. Can someone describe how to make the Analysis for Office version of the EPM Add-In find the DLLs.



Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

1 Answer

  • Best Answer
    Jun 20, 2017 at 11:31 PM

    You can manually change references in the VBA editor...

    Or you can change references in program code.

    Or you can use late binding:

    Set api = Application.COMAddIns("FPMXLClient.Connect").Object

    Add comment
    10|10000 characters needed characters exceeded

    • 2 Arun Varghese

      New version of universal code - without any references:

      Public Sub SubmitRefreshData()
      Dim objAddIn As COMAddIn
      Dim epm As Object
      Dim AOComAdd As Object
      Dim blnEPMInstalled As Boolean
      Dim lngTemp As Long
      Dim strSheet As String
      Dim submres() As Object
      For Each objAddIn In Application.COMAddIns
          If objAddIn.progID = "FPMXLClient.Connect" Then
              Set epm = objAddIn.Object
              blnEPMInstalled = True
              Exit For
          ElseIf objAddIn.progID = "SapExcelAddIn" Then
              Set AOComAdd = objAddIn.Object
              Set epm = AOComAdd.GetPlugin("")
              blnEPMInstalled = True
              Exit For
          End If
      Next objAddIn
      If Not blnEPMInstalled Then
          MsgBox "EPM is not installed!"
          Exit Sub
      End If
      epm.SetSilentMode True
      strSheet = "abc"
      submres = epm.SubmitAndRefreshWorkSheet(ThisWorkbook.Worksheets(strSheet))
      For lngTemp = 0 To UBound(submres)
          Debug.Print strSheet & " " & CStr(submres(lngTemp).StatusDescr) & " " & CStr(submres(lngTemp).SubmitCount)
      Next lngTemp
      End Sub