Ribbon call back functions do not work if Microsoft Outlook 16.0 Object Library reference checked

My Access development system is below and I have customized ribbon with call back functions.

Windows 7 Home Premium, Office 2016 Professional Plus 32-bit, SQL Server 2014 Express

I compile ACCDB to ACCDE. Run ACCDE on other Windows 10 computers which do not have Office installed while I install Access rum time 2016. ACCDE program runs smoothly on all Windows 10 computers, including ribbon call back functions.

Recently, I add email feature to my program. I add Microsoft Outlook 16.0 Object reference on my ACCDB and compiles to ACCDE. Both ACCDB and ACCDE work fine on email and ribbon call back functions on my developing computer. But, on other Windows 10 computers, which does not have office installed, all ribbon call back functions do not work anymore. Error message is below.

enter image description here

I remove Microsoft Outlook 16.0 Object reference. Re-compile it. It works again on all ribbon call back functions.

1 answer

  • answered 2020-06-27 09:52 Applecore

    Whilst it is easier to develop using early binding (by setting a reference to the relevant object library) so that you can use Intellisense and the object model, you should always deploy using late binding:

    • Remove the reference to the object library;
    • Declare As Object rather than As Outlook.Application;
    • Replace any constants, with either their numerical equivalent, or else with your own constants (Global Const OL_MAIL_ITEM = 0).

    In addition, if your application is using Outlook and the target computers do not have this installed, then the pieces of your application that use Outlook will not work.