Я использую Windows 7 и Access 2010. Я пытаюсь подключиться к нашему серверу, чтобы видеть файлы. Моя проблема в том, что я не хочу иметь имя пользователя или пароль в коде. Я бы хотел, чтобы окна запрашивали его, если требуется проверка подлинности (из моих тестов, как только вы аутентифицируете, вам не нужно повторно делать это некоторое время). От MapNetworkDrive Object MSDN, strUser и strPassword являются необязательными и используют текущие учетные данные пользователей, но это, похоже, не работает для сервера.VBA MapNetworkDrive на сервер с учетными данными Windows
Dim objFSO As Object
Dim objFolder As Object
Dim objNetwork As Object
Dim strShareLetter As String
Dim strURL As String, strUser as String, strPassword as String
strShareLetter = "L:"
Set objFSO = CreateObject("Scripting.FileSystemObject")
strURL = "\\[email protected]\DavWWWRoot\companydav\nodes\12345678\"
Set objNetwork = CreateObject("WScript.Network")
objNetwork.MapNetworkDrive strShareLetter, strURL, False, strUser, strPassword
Set objFolder = objFSO.GetFolder(strURL)
MsgBox objFolder.Files.Count
MsgBox objFolder.SubFolders.Count
Set objFolder = Nothing
Set objFSO = Nothing
objNetwork.RemoveNetworkDrive (strShareLetter)
Set objNetwork = Nothing
Если я напишу свой пароль/пароль в коде, все будет работать. Но мне нужно, чтобы другие пользователи могли его использовать, и я не хочу, чтобы мои учетные данные использовались повсюду. Мне бы хотелось, чтобы подсказки учетных данных Windows или что-то в этом роде. Я не хочу запрашивать пароль пользователя через vba по соображениям безопасности.
Любые идеи? Я искал Google для решений, но я не могу найти его. thank you
Какие соображения безопасности вас беспокоят? Данные не будут храниться вне срока службы метода, если вы предложите пользователю. Кажется, это достаточно простое решение. – RubberDuck
Многие пользователи будут использовать приложение и иметь доступ к коду с помощью alt + F11, поскольку здесь ничего не защищено. Кто-то, кто немного знает в vba, может просто сохранить пользователя/пароль в текстовом файле на сервере или сделать что-то в этом роде. (Например, секретарь мог получить пароль bigboss). С моей стороны, мне просто не нравится, когда пароли вводятся как строка в любом месте. – trixrabbit
Я думаю, что беспокойство немного ... В лучшем случае. Пользователь будет иметь доступ только к собственному имени пользователя и паролю, но если вас это беспокоит, просто защитите паролем проект VBA. – RubberDuck