NameSpace.Logon メソッド (Outlook)

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

構文

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

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

パラメーター

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

注釈

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

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

Outlook が実行されておらず、既定のプロファイルでのみ Outlook を起動する場合は、 Logon メソッドを使用しないでください。 次のコード例では、 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 のサポートおよびフィードバックを参照してください。