2017-06-23 17 views
1

Microsoft AccessシステムでVBで問題を修正する作業がありましたが、わかりません。この問題は、ソフトウェアを実行している5台のPCのいずれかでのみ発生します。 私は、Outlook &アクセスし、それを再インストールを削除コンパイルエラー:オブジェクトライブラリ機能がサポートされていませんOutlook.Application

  • 試してみました。
  • Microsoft Accessアプリケーションを削除して再インストールします。
  • 他のサイトで見つけた回答に一致するようにコードを変更しました。

このコードは次のようにコードがあるエラー enter image description here が表示されます。

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 

他のサイトで推奨されているように変更しました。

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 

このコードの変更により、実行時に強制的にシャットダウンへのアクセスが強制終了されました。 私はVBとAccess Developmentの新機能ですので、これは簡単な修正です。詳しい情報が必要な場合はお尋ねください。その2016 MicrosoftのFYI。 ありがとうございます

+0

私は、さまざまな見通しのバージョンを参照していると思われます。異なるバージョンのOutlookやアクセスがユーザー環境で使用される可能性がある場合は、遅延バインディングを使用する必要があります。 あなたが投稿した2番目のコードは途中ですが、私はここで読むことをお勧めします。 http://sourcedaddy.com/ms-access/late-binding.html – Minty

+0

それはあなたに感謝しました。私の2番目の答えを使用して、私は 'set objOutlook = New Outlook.Application'を' Set objOutlook = CreateObject( "Outlook.Application")に変更しました。それを回答として追加したい場合はそれを受け入れます。ありがとうございました – rbaskam

答えて

1

私は、異なる見通しのバージョンへの間違った参照が疑わしいと思う。

あなたのユーザー環境で異なるバージョンのOutlookまたはアクセスが使用される可能性がある場合は、遅延バインディングを使用する必要があります。あなたが投稿した2番目のコードはそこに半分ですが、私はここで読むことをお勧めします。 http://sourcedaddy.com/ms-access/late-binding.html

1

Dreadfoolの示唆している奇妙な回避策をMSDNで試してみることもできます。コード行を変更する必要はありません。

マクロを別のファイルに保存し、この新しいファイルをプロジェクトにインポートするだけです。この単純な手順は、私の場合、コードが365の更新後に動作しなくなったときに役立ちました。

+0

答えをありがとうございます。これが将来発生する場合は、この方法を検討します。 – rbaskam

+0

これは私にとって完璧に機能しました。 Office Updateの後に問題が発生しました。私は自動化されたレポート生成のためにVBAコードに大きく依存しています。私のコードは、Outlook VBAのModule1にありました。 Module1を右クリックし、コードをファイルにエクスポートしました。次に、もう一度右クリックしてモジュールを削除し、エクスポートするように求められたら(いいえ)をクリックします(既にエクスポートされています)。次に、再度右クリックして[インポート]をクリックし、以前にエクスポートしたファイルを選択します。コードが再び動作するようになりました。 – Uttam

+0

良さ。このエラーは何年もの間私を邪魔してきました。それはいつも輸出輸入コードだった??? – user3629945

0

Visio 2016 64bitをインストールした後もOutlookマクロが動作しなくなりました(同じエラーメッセージですが、 "GetFolder" Office 2016 ProPlus 64bitインストールと並行してインストールします。

最初にリブートを試みました - >効果なし。

次に、Officeのオフライン修復を試みました - >効果なし。

オンライン修復 - >再び動作させました。

関連する問題