NameSpace.Logon メソッド (Outlook)

ユーザーを MAPI にログオンさせ、MAPI セッションを返します。

構文

expression. Logon( _Profile_ , _Password_ , _ShowDialog_ , _NewSession_ )

NameSpace オブジェクトを表す変数。

パラメーター

名前 必須 / オプション データ型 説明
Profile 省略可能 バリアント型 (Variant) セッションで使用するには、MAPI プロファイル名を文字列型 ( String ) の値で指定します。 現在のセッションの既定のプロファイルを使用するには、空の文字列を指定します。
Password オプション バリアント型 (Variant) プロファイルに関連付けられている 文字列としてのパスワード (存在する場合)。 このパラメーターは下位互換性のためだけに存在し、セキュリティ上の理由から使用することはお勧めしません。 Microsoft Outlook では、ほとんどのシステム構成でパスワードの指定が求められます。 これはログオン パスワードであり、PST パスワードと混同しないでください。
ShowDialog 省略可能 バリアント型 (Variant) True を指定すると、MAPI のログオン ダイアログ ボックスが表示され、ユーザーが MAPI プロファイルを選択できます。
NewSession 省略可能 バリアント型 (Variant) 新しい Microsoft Outlook セッションを作成する場合は true。 Outlook では複数のセッションを作成できないため、このパラメーターはセッションがまだ存在しない場合にのみ True として指定する必要があります。

注釈

まだ Outlook を実行していない場合、 Logon メソッドのみを使用して特定のプロファイルにログオンします。 これは、一度に 1 つの Outlook プロセスしか実行できず、Outlook プロセスは 1 つのプロファイルのみを使用し、1 つの MAPI セッションのみをサポートしているためです。 ユーザーが二度 Outlook を起動すると、同じ Outlook プロセス内で Outlook のインスタンスが実行され、新しいプロセスは作成されず、同じプロファイルが使用されます。

既に Outlook を実行している場合、このメソッドを使用して新しい Outlook セッションを作成したり、現在のプロファイルを別のプロファイルに変更したりすることはできません。

Outlook が実行されておらず、既定のプロファイルで Outlook のみを起動したい場合は、 ログオン メソッドを使用しないでください。 より良い代替手段を次のコード例に示します。 InitializeMAPI 最初に、Outlook Application オブジェクトをインスタンス化してから、受信トレイなどの既定のフォルダーを参照します。 これには、既定のプロファイルを使用するように MAPI が初期化され、オブジェクト モデルが完全に機能するという副作用があります。

Sub InitializeMAPI ()

    ' Start Outlook.
    Dim olApp As Outlook.Application
    Set olApp = CreateObject("Outlook.Application")
    
    ' Get a session object. 
    Dim olNs As Outlook.NameSpace
    Set olNs = olApp.GetNamespace("MAPI")
    
    ' Create an instance of the Inbox folder. 
    ' If Outlook is not already running, this has the side
    ' effect of initializing MAPI.
    Dim mailFolder As Outlook.Folder
    Set mailFolder = olNs.GetDefaultFolder(olFolderInbox)

    ' Continue to use the object model to automate Outlook.
End Sub

Outlook 2010 を起動する際に、複数のプロファイルがあり、常に既定のプロファイルを使用するように Outlook を構成している場合に、ユーザーに確認せずに Logon メソッドを使用して既定のプロファイルにログオンすると、プロファイルを選択するよう求めるメッセージがユーザーに送信されます。 この動作を回避するには、 Logon メソッドを使用しないでください。代わりに、前の InitializeMAPI 例で提案されている回避策を使用してください。

次の Visual Basic for Applications の例は、Logon メソッドを使って、プロファイル名の確認とパスワードの入力のためのダイアログ ボックスを表示し、新しいセッションにログオンします。

Sub StartOutlook() 
    Dim myNameSpace As Outlook.NameSpace 
  
    Set myNameSpace = Application.GetNamespace("MAPI") 
    myNameSpace.Logon "LatestProfile", , True, True 
End Sub

関連項目

NameSpace Object

How to: Obtain and Log On to an Instance of Outlook

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。