次のコードを使用して、VBA Excel から OneNote アプリケーションを閉じようとしています。
Sub closeOneNote()
Dim oneNoteApp As Object
On Error Resume Next
Set oneNoteApp = GetObject(, "OneNote.Application")
If Err.Number = 0 Then
oneNoteApp.Quit
Else
Err.Clear
End If
End Sub
OneNote の代わりに Outlook を試してみると、問題なく動作し、Outlook が閉じます。OneNote は VBA による自動化をサポートするアプリケーションではないためではないかと考えていました。以下のリンクに示されているように、ページの下部にある表には、Ican が参照できるすべての最上位の Office オブジェクトとそれらのクラス名が一覧表示されており、OneNote はその中に含まれていません。
別の Office アプリケーションを自動化するためのオブジェクト変数の作成
アプリケーションを閉じる方法に関するアイデア、提案 (ノートブック自体ではなく、実行中のアプリケーションのみ..)
ありがとう