rbaskam
rbaskam

Reputation: 749

Compile Error: Object library feature not supported Outlook.Application

I have been tasked with fixing an issue in VB on an Microsoft Access system and I can't figure it out. This issue only occurs on one of the 5 PC's running the software. I have tried

This code brings up an error enter image description here The code is as follows.

    Dim objOutlook As Outlook.Application
    Dim objMailItem As MailItem
    Dim db As DAO.Database

    'Create email object and send attachment

    Set objOutlook = DetectOutlook()
    If objOutlook Is Nothing Then
        Set objOutlook = New Outlook.Application
    End If

I tried changing it to this as recommended on another site.

    Dim objOutlook As Object
    Dim objMailItem As MailItem
    Dim db As DAO.Database

    'Create email object and send attachment

   If GetObject(, "Outlook.Application") = True Then    'Outlook was already running
        Set objOutlook = GetObject(, "Outlook.Application")    'Bind to existing instance of Outlook
    Else    'Could not get instance of Outlook, so create a new one
        Set objOutlook = New Outlook.Application
    End If

This code change just ended up forcing Access to shutdown when it was run. I am new to VB and Access Development so maybe this is a simple fix, if you require any further information please ask. Its 2016 Microsoft FYI. Thank you in advance

Upvotes: 9

Views: 8601

Answers (6)

Dobert
Dobert

Reputation: 36

After very recent MS Office update this "Object library feature not supported for Outlook.Application" error started happening in our tools.

Putting 'Microsoft Outlook 16.0 Object Library' as high priority as possible solved the issue.

Upvotes: 1

James Hendrix
James Hendrix

Reputation: 41

Oddly enough and I'm not sure why, I resolved this following a slightly different version of this user's advice:

What worked for me was opening the VB editor and then going into Tools > References. I had to check a few more references (OLE Automation, EBApp, etc). I ran the Macro again an no errors came up. – jpruizs May 9 '18 at 2:52

Instead, I had all the relevant object library references, but I reprioritized them as follows:

  1. Visual Basic for Applications
  2. Microsoft Outlook 16.0 Object Library
  3. Microsoft Office 16.0 Object Library
  4. OLE Automation

Somehow this worked and I no longer received the compile error. I was pretty sure library reference was the culprit, because I had copied the macro text from another system where it worked fine.

Upvotes: 3

sachin Bhavsar
sachin Bhavsar

Reputation: 1

When you upgrade office to 2019 or office 365 version, you require to re-import your custom development i.e. all the modules, forms etc in vba.

Just export all the modules in one folder, remove it and import it again. It will solve the problem.

Upvotes: 0

Luc VdV
Luc VdV

Reputation: 1198

Just had the same problem, Outlook macros stopped working (same error message, but on a "GetFolder" call) after installing Visio 2016 64bit side by side with an Office 2016 ProPlus 64bit installation.

First tried a reboot -> no effect.

Then tried an offline repair of Office -> no effect.

Then an online repair -> made it work again.

Upvotes: 0

BusinessAlchemist
BusinessAlchemist

Reputation: 714

You might as well try a weird workaround suggested by Dreadfool at MSDN. It doesn't require you to change a line of code.

Just save the macro into another file and import this new file to your project. This simple step helped in my case, when code stopped working after an update of 365.

Upvotes: 12

Minty
Minty

Reputation: 1626

I suspect the issue is incorrect references to different outlook versions.

You need to employ late binding if there is a possibility of different versions of outlook or access being used with your user environment. The second code you posted is halfway there but I would suggest having a read up here; http://sourcedaddy.com/ms-access/late-binding.html

Upvotes: 5

Related Questions