СообЧа > База Знаний > Программирование > Visual Basic

Вопрос

Как подключить сетевой диск средствами VBScript? Нужен готовый скрипт, который бы проверял статус диска, и, если последний отвалился, то подключал его ничего не спрашивая.

Ответ

Sub Main()
On Error Resume Next
'Начало работы и запрос разрешения пользователя на проверку и подключение
If MsgBox("Сейчас будет произведена проверка" & vbCrLf & "и подключение сетевого диска." & vbCrLf & "Желаете продолжить?", vbYesNo + vbQuestion) <> vbNo Then
  'Объявление переменных
  Dim net, i, oDrives, strPath
  'Присваивание значений
  Set net = CreateObject("WScript.Network")
  Set oDrives = net.EnumNetworkDrives
  'Перебор всех дисков на машине
  For i = 0 to oDrives.Count — 1 Step 2
   'Поиск сетевого диска. Иногда может быть "D:"
   if oDrives.Item(i) = "J:" Then
    'Вывод сообщения о том, что сетевой диск имеется в наличии на машине.
    MsgBox "Диск подключен." & vbCrLf & "Проблема в другом!"
    'Вываливаемся из функции
    Exit Sub
   End If
  'Цикл
  Next
  'Запрос пользователя на режим работы.
  If MsgBox("Желаете подключить диск в автоматическом режиме?" & vbCrLf & "Нажатием на `нет` вы можете ввести полный путь для подключения", VbYesNo + vbQuestion, "Режим подключения") <> vbNo Then
   'Установка диска
   net.MapNetworkDrive "J:", "\\Пк2\C","True","",""
  Else
   'Запрос полного пути для подключения, по умолчанию равен "\\Пк2\C"
   strPath = InputBox ("Введите путь для подключения диска", "Ручное подключение", "\\Пк2\C")
   'Если пользователь нажал на отмену
   If Len(strPath)=0 Then
    'Выводим сообщение, что ничего не было cделано и вываливаемся из функции
    MsgBox "Диск не был подключен"
    Exit Sub
   Else
    'Пользователь задал путь и нажал на Ок
    'Установка диска по заданному пути
    net.MapNetworkDrive "J:", strPath,"True","",""
   End If
  End If
  'Проверка наличия ошибки после предыдущей процедуры.
  If (Err.Number <> 0) Then
   'Если имела место быть некая ошибка, то выводим сообщение
   MsgBox "Компьютер, к которому производится подключение, выключен, либо недоступен!" & vbCrLf & "Попробуйте повторить попытку после того, как убедитесь, что второй компьютер включен.", vbCritical
   'вываливаемся из функции, для того, чтобы не появилось сообщение о том, что все хорошо:)
   Exit sub
  End if
  'выводим сообщение о том, что диска не было и мы его удачно подключили.
  MsgBox "Готово!" & vbCrLf & "Пробуйте!", vbInformation
Else
'Вываливаемся из функции — пользователь ответил, что ничего он не хочет:)
  Exit Sub
End If
End Sub
'вызов нашей функции
Call main



Copyright © 2000-2004 Сообщество Чайников
Контактная информация