1

VB .NET 3.5 プロジェクトの開発を引き継ぎました。Office 2013の参照を追加する必要がありMicrosoft.Office.Interop.Outlookますが、COM 参照リストに表示されません。Office 2013 をインストールしています。PIA のインストーラーを見つけようとしましたが、2013 のインストーラーを見つけることができませんでした。

ここに画像の説明を入力

助言がありますか?

アップデート

.NET 4 にアップグレードしましたが、参考文献に「Microsoft Outlook 15.0 Object Library」が見つかりません (上の画像を参照)。Office ディスクからインストールしようとしましたが、プログラム機能は既にインストールされていました。また、VS ディスクから Office Developer Tools をインストールしました。このファイルをどこから取得するか迷っています。

次のコードで遅延バインディングに切り替えてみました。

Sub DisplayMail()
    Dim oAPP As Object
    Dim oItem As Object
    Const olMailItem As Long = 0

    oAPP = CreateObject("Outlook.Application")
    oItem = oAPP.CreateItem(olMailItem)
    With oItem
        .To = Me.EmailAddress
        .Subject = Me.MySubjectTextBox.Text.Trim.Replace("%", "%25").Replace("&", "%26")
        .Body = Me.EmailMessageBox.Text.Trim.Replace("%", "%25").Replace(vbCr, "%0d%0A").Replace("&", "%26")
        .Display()
    End With
End Sub

これは、Outlook が閉じているときに機能しますが、Outlook を開いていると、「ActiveX コンポーネントを作成できません」というエラーが表示されます。

4

1 に答える 1

0

遅延バインディングを使用していて、アプリケーションと Outlook が異なるアクセス レベルで実行されている場合、「ActiveX コンポーネントを作成できません」というエラーが発生します。

私の場合、Visual Studio は管理者として実行されていましたが、Outlook は通常どおり実行されていました。Outlook を閉じて、管理者として再度開いたところ、例外はありませんでした。

于 2015-03-10T21:25:09.600 に答える