重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

VBA でActiveDirectory 上のフォルダにアクセスする。

●利用環境
OS:WinXP
ソフト:Access+SQLServer

ActiveDirectory(以下AD)に参加していない端末からAD上のフォルダにアクセスする際に、IDとパスワードを聞かれます。この端末を利用して、ACCESSのVBAからADにアクセスしたいのですが、VBA実行時にADのIDとパスワードを聞くようにしたいのですが、やり方がわかりません。

ご教示くださいますようお願い致します。

A 回答 (1件)

APIのWNetAddConnection2を使う方法です。



Private Declare Function WNetAddConnection2 Lib "mpr.dll" Alias "WNetAddConnection2A" _
(lpNetResource As NetResource, _
ByVal lpPassword As String, _
ByVal lpUserName As String, _
ByVal dwFlags As Long) As Long

Private Type NetResource
  dwScope As Long
  dwType As Long
  dwDisplayType As Long
  dwUsage As Long
  lpLocalName As String
  lpRemoteName As String
  lpComment As String
  lpProvider As String
End Type

Private Const RESURCETYPE_ANY = &H0
Private Const CONNECT_INTERACTIVE As Integer = &H8
Private Const NO_ERROR = 0

Private Sub hoge()

  Dim Ret As Long
  Dim NetRes As NetResource

  NetRes.dwType = RESOURCETYPE_ANY
  NetRes.lpLocalName = vbNullString
NetRes.lpRemoteName = "ぱす"
  NetRes.lpProvider = vbNullString

  Ret = WNetAddConnection2(NetRes, vbNullChar, vbNullChar, CONNECT_INTERACTIVE)
  If Ret = NO_ERROR Then
    MsgBox "接続成功"
  End If

End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます!非常に助かりました!

お礼日時:2010/08/25 19:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!