[AC95] ネットワークドライブとの接続をする方法

サポートが終了した KB の内容についての免責事項

この記事は、マイクロソフトがサポートを提供しなくなった製品について記述しています。 したがって、この記事は「現状のまま」で提供され、更新されることはありません。

概要

ネットワークドライブを参照する方法として、論理ドライブ (例えば、D: ) を指定する 方法と、UNC 名 (例えば、\\Servername\Sharename) を使う方法があります。
ここでは、Visual Basic for Applications (以下 VBA ) から UNC 名 を使って指定 したネットワークドライブと接続し、論理ドライブを割り当てる方法を紹介します。

現象

UNC 名 を使って指定したネットワークドライブと接続するサンプルプロシージャです。 Windows の API 関数を使用して、アルファベット順で 1 番若い使用可能なドライブを 見つけてネットワーク接続を行います。

■ 操作手順

  1. モジュールを作成し、宣言部で次のコードを入力します。

    --------------------------------------------------------------------------
    Option Explicit
    Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" _
    (ByVal nDrive As String) As Long
    Declare Function WNetAddConnection Lib "mpr.dll" Alias _
    "WNetAddConnectionA" (ByVal lpszNetPath As String, _
    ByVal lpszPassword As String, ByVal lpszLocalName _
    As String) As Long
    --------------------------------------------------------------------------
  2. 次のプロシージャを入力します。

    ---------------------------------------------------------------------------
    Public Function FreeDrive(MyShareName$, MyPWD$) As Variant
    On Local Error GoTo FreeDrive_Err
    Dim DriveNum As Long, FirstFreeDrive As String
    Dim FirstDrive As Long, Results As Long
    For DriveNum = 1 To 25
    FirstFreeDrive = Chr$(DriveNum + 65) + ":\"
    FirstDrive = GetDriveType(FirstFreeDrive)
    If FirstDrive = 1 Then
    FirstFreeDrive = Left(FirstFreeDrive, 2)
    FreeDrive = WNetAddConnection(MyShareName$, MyPWD$, _
    FirstFreeDrive)
    Exit Function
    End If
    Next
    FreeDrive_End:
    Exit Function
    FreeDrive_Err:
    FreeDrive = Err
    MsgBox Error$
    Resume FreeDrive_End
    End Function
    --------------------------------------------------------------------------
  3. Ctrl+G キーを押して、デバッグウィンドウに次のように入力してください。

    ? FreeDrive(<\\servername\sharename>, <MyPwd>)
    <\\servername\sharename> は、サーバ名とシェア名です。
    <MyPwd> は、そのネットワークへのパスワードです。パスワードがない場合は
    空文字列 ("") を設定してください。
    例: ? FreeDrive("\\MyServer\MyShare","")
  4. Windows 95 のエクスプローラーで、ネットワークドライブが接続されたこと を確認してください。

■ 解説

サンプルプロシージャでは、Windows 95 の API 関数の GetDriveType を使って
使用可能なドライブ名を取得しています。その後で、API 関数の WNetAddConnection を 使ってネットワーク接続を行っています。ネットワーク接続が正常に行われたときには、 FreeDrive プロシージャは、0 を返します。
なお、Windows 95 の API 関数についての詳細は、マイクロソフト デベロッパー
ネットワーク (MSDN) レベル 2 で提供される Microsoft Win32 Software
Development Kit (SDK) を参照してください。
プロパティ

文書番号:404891 - 最終更新日: 1997/11/01 - リビジョン: 1

フィードバック