Skip to Content

EPM Add-In DLLs

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.

Thanks

Cliff

Add comment
10|10000 characters needed characters exceeded

  • 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

    • Looks like you have issues with installation. Perform complete uninstall and reinstall.

      Sample code to change references using VBA:

      Public Sub CorrectRef()
      Dim chkRef As VBIDE.Reference
      Dim strepmref As String
      Dim blncorref As Boolean
      
      
      strepmref = ""
      If Dir(Environ("LOCALAPPDATA") & "\Programs\SAP BusinessObjects\EPM Add-In\FPMXLClient.Shim.dll") <> "" Then
          'AO is installed
          strepmref = Environ("LOCALAPPDATA") & "\Programs\SAP BusinessObjects\EPM Add-In\FPMXLClient.Shim.dll"
      ElseIf Dir(Environ("ProgramFiles") & "\SAP BusinessObjects\EPM Add-In\FPMXLClient.Shim.dll") <> "" Then
          'EPM standalone is installed
          strepmref = Environ("ProgramFiles") & "\SAP BusinessObjects\EPM Add-In\FPMXLClient.Shim.dll"
      End If
      
      If strepmref <> "" Then
          ' Remove reference if incorrect
          blncorref = False
          
          For Each chkRef In ThisWorkbook.VBProject.References
              If chkRef.Name = "FPMXLClient" Then
                  If chkRef.FullPath <> strepmref Then
                      ThisWorkbook.VBProject.References.Remove chkRef
                  Else
                      blncorref = True
                  End If
              End If
          Next
          ' Set reference
          If Not blncorref Then
              ThisWorkbook.VBProject.References.AddFromFile strepmref
              ThisWorkbook.Save
          End If
      End If
      
      End Sub
      refc.png (38.3 kB)