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

この記事は、以前は次の ID で公開されていました: JP404891
サポート期間が終了した「サポート技術情報」資料に関する免責事項
この資料は、マイクロソフトでサポートされていない製品について記述したものです。そのため、この資料は現状ベースで提供されており、今後更新されることはありません。

概要
ネットワークドライブを参照する方法として、論理ドライブ (例えば、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 - 最終更新日: 11/01/1997 22:17:24 - リビジョン: 1.0

Microsoft Access 95 Standard Edition

  • kbhowto unc名 ドライブの割り当て 割り当て 論理ドライブ KB404891
フィードバック