Datastream for Office (DFO) Excel Add-In Connection Status

Hello, We are currently using DataStream DFO Excel Add-In and wish to automate some of the data capture via a Python Script that first Opens Excel that has DFO Add-In installed and then pushes the DSGRID Formula into a Cell with the required parameters.

What I would like to know is if there is a call that can be made to DFO within this context that will allow me to determine the Connection LogIn Status and login if necessary.

Thanks in advance

Best Answer

  • paul.bacon
    paul.bacon LSEG
    Answer ✓

    Hi

    There is a VBA command to display if Eikon/DFO is online

    Private Sub CommandButton5_Click()

    Set nObj =
    Application.COMAddIns("PowerlinkCOMAddIn.COMAddIn").Object.sharedObject

    MsgBox ("Connected :" & nObj.GetApplicationOnlineStatus())

    End Sub

    Regards

Answers

  • Thanks Paul.

    I will give that go and see if calling the COM object from python works.

    cheers

  • Hi. I have made some progress with this but am still either missing some piece of fundamental knowledge or I am on the wrong trail altogether.

    I am able to 'connect' to the Excel Application Object and see that COMAddIns is populated with (in my case) 4 AddIns. One of which is "DFOAddInExcel2016"

    PYTHON snippet so far is

    xlApp = win32com.client.gencache.EnsureDispatch("Excel.Application")
    xlApp.Visible = 1
    for addin in self.xlApp.COMAddIns:
    print(addin.description)

    Resulting in

    Microsoft Power View for Excel
    DFOAddInExcel2016
    Microsoft Power Map for Excel
    Datastream Charting Addin

    But I don;t see the PowerlinkCOMAddIn.COMAddIn object and therefoe any attempt to access properties or methods on this fail with an index error.

    I have tried your suggestion of calling GetApplicationOnlineStatus() against the DFO AddIn I can see but this reports an error as I don't believe that is an function of this particular DFO AddIn.

    print(xlApp.COMAddIns("DFOAddInExcel2016").GetApplicationOnlineStatus())

    Traceback (most recent call last):
    File "C:\tgm\bin\anaconda3\envs\tgm-py368\lib\site-packages\IPython\core\interactiveshell.py", line 3296, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
    File "<ipython-input-70-19e551b05640>", line 1, in <module>
    print(xlApp.COMAddIns("DFOAddInExcel2016").GetApplicationOnlineStatus())
    File "C:\tgm\bin\anaconda3\envs\tgm-py368\lib\site-packages\win32com\client\dynamic.py", line 527, in __getattr__
    raise AttributeError("%s.%s" % (self._username_, attr))
    AttributeError: <unknown>.GetApplicationOnlineStatus

    Any ideas on how I can establish what all of the available functions and properties maybe for the "DFOAddInExcel2016" COM Object? I know that 'description' is available but beyond that I am in the dark.

    thanks in advance

    BTW. Google shows zero results for "DFOAddInExcel2016"

    cheers

  • Alex Putkov.1
    Alex Putkov.1 ✭✭✭✭✭

    @bruce.gibbins
    The answer from @paul.bacon assumed you were using Datastream for Office (DFO) Excel Add-In as part of an Eikon terminal. Since you don't have "Thomson Reuters Eikon - Microsoft Office" listed under Excel's Application.COMAddIns collection, it doesn't look like you have Eikon installed on this machine. What Refinitiv product do you subscribe to that includes Datastream for Office (DFO) Excel Add-In?

  • Thanks. That will explain it (I think). We have a legacy (pre-Eikon) subscription going back some years. From what I can gather it may be a subscription to specific datasets and these seem to come packaged with the DFO Excel Add-In which is installed separately as an Add-In (ie. there is no Terminal install)

  • Alex Putkov.1
    Alex Putkov.1 ✭✭✭✭✭

    In this case I suggest you open a support case with Refinitiv Helpdesk. I'm not sure there's anyone on this community who's deeply familiar with the internal architecture of those legacy add-ins.

  • Thanks Alex. Appreciate it