Conectar unidad de red con Virtual Basic
Publicado por xavier (1 intervención) el 07/04/2011 21:16:38
Hola,
Soy novato en todo esto del Virtual Basic. He estado consultado un articulo de como mapear y remover unidad de red (http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/306-mapear-y-remover-unidad-de-red.htm). He conseguido hacerlo y funciona de maravilla. Pero he querido cambiar unas cosas y no funciona del todo bien.
La cuestión, es que he suprimido los campos de Unidad de Red i he asignado por defecto la letra (Z:). También he borrado el nombre del recurso substituyéndolo por "\\192.168.1.10\" que es la IP del servidor. Pero lo que quiero en este campo, es que me ponga a continuación de "\\192.168.1.10\" al username, que corresponde a la carpeta personal. He realizado unos cambios, pero me parece que hay algo que no cuadra. Adjunto el código a continuación. Una otra cosa que me gustaría saber como ocultar los caracteres de la contraseña.
El código:
Option Explicit
'***************************************************************************
'* Referencias : Agregar la referencia a Windows Script Object Model
' Controles : Dos CommandButton y cuatro TextBox: _
( txtNameLocal, txtNameRemoto, txtUsuario y txtPassword )
'***************************************************************************
'Función que mapea la unidad
'----------------------------------------------
Private Function Mapear_Unidad_De_Red(LocalName As String, _
RemoteName As String, _
Optional UserName As Variant, _
Optional Password As Variant) As Boolean
On Error GoTo ErrFunction
Dim obj_Wsh As WshNetwork
On Local Error Resume Next
' Nuevo objeto WshNetwork
Set obj_Wsh = New WshNetwork
' Verifica los parámetros de usuario y password
If Not (IsMissing(UserName) And _
IsMissing(Password)) And _
txtUsuario <> vbNullString And _
txtPassword <> vbNullString Then
obj_Wsh.MapNetworkDrive LocalName, RemoteName, UserName, Password
Else
obj_Wsh.MapNetworkDrive LocalName, RemoteName
End If
Select Case Err.Number
Case 0 ' No hubo error
Mapear_Unidad_De_Red = True
'Elimina la referencia
Set obj_Wsh = Nothing
Exit Function
Case -2147024829
MsgBox " Aquest recurs de xarxa no existeix ", vbCritical
Case -2147024811
MsgBox " Aquest recurs de xarxa ja està connectat ", vbCritical
Case -2147022646
MsgBox " Error: Verifica si el nom de " & _
"la unitat és correcte ", vbCritical
Case Else
MsgBox Err.Description, vbCritical
End Select
Mapear_Unidad_De_Red = False
'Elimina la referencia
Set obj_Wsh = Nothing
Exit Function
ErrFunction:
MsgBox Err.Description
'Elimina la referencia
Set obj_Wsh = Nothing
End Function
' Botón para mapear
Private Sub Command1_Click()
Dim ret As Boolean
ret = Mapear_Unidad_De_Red("Z:", "\\192.168.1.10\" & _
txtUsuario, _
txtUsuario, txtPassword)
If ret Then
MsgBox " Carpeta en Xarxa conectada ", vbInformation, _
" Connectar Unitat de Xarxa"
End If
End Sub
'Función que remueve una unidad de red
'----------------------------------------------
Function Remover_Unidad_De_Red(Nombre As String) As Boolean
On Error GoTo ErrFunction
Dim obj_Wsh As WshNetwork
On Local Error Resume Next
' Nuevo objeto WshNetwork
Set obj_Wsh = New WshNetwork
'Remueve la unidad
obj_Wsh.RemoveNetworkDrive ("Z:")
Select Case Err.Number
Case 0 ' Ok
Remover_Unidad_De_Red = True
'Elimina la referencia
Set obj_Wsh = Nothing
Exit Function
Case -2147024829
MsgBox " El recurs de xarxa no existeix " & _
"s'ha pogut accedir ", vbCritical
Case -2147022646
MsgBox " Error: Verifica si el nom de " & _
"la unitat és correcte ", vbCritical
Case Else
MsgBox Err.Description, vbCritical
End Select
Remover_Unidad_De_Red = False
'Elimina la referencia
Set obj_Wsh = Nothing
Exit Function
ErrFunction:
MsgBox Err.Description
'Elimina la referencia
Set obj_Wsh = Nothing
End Function
' Botón que remueve la unidad
Private Sub Command2_Click()
Dim Nombre As String
Dim ret As Boolean
Nombre = "Z:"
If Nombre = vbNullString Then Exit Sub
ret = Remover_Unidad_De_Red(Nombre)
If ret Then MsgBox " Unitat desconnectada", vbInformation
End Sub
'Captions
Private Sub Form_Load()
Command1.Caption = " Connectar "
Command2.Caption = " Desconnectar"
txtUsuario.Text = vbNullString
txtPassword.Text = vbNullString
End Sub
Muchas gracias..
Soy novato en todo esto del Virtual Basic. He estado consultado un articulo de como mapear y remover unidad de red (http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/306-mapear-y-remover-unidad-de-red.htm). He conseguido hacerlo y funciona de maravilla. Pero he querido cambiar unas cosas y no funciona del todo bien.
La cuestión, es que he suprimido los campos de Unidad de Red i he asignado por defecto la letra (Z:). También he borrado el nombre del recurso substituyéndolo por "\\192.168.1.10\" que es la IP del servidor. Pero lo que quiero en este campo, es que me ponga a continuación de "\\192.168.1.10\" al username, que corresponde a la carpeta personal. He realizado unos cambios, pero me parece que hay algo que no cuadra. Adjunto el código a continuación. Una otra cosa que me gustaría saber como ocultar los caracteres de la contraseña.
El código:
Option Explicit
'***************************************************************************
'* Referencias : Agregar la referencia a Windows Script Object Model
' Controles : Dos CommandButton y cuatro TextBox: _
( txtNameLocal, txtNameRemoto, txtUsuario y txtPassword )
'***************************************************************************
'Función que mapea la unidad
'----------------------------------------------
Private Function Mapear_Unidad_De_Red(LocalName As String, _
RemoteName As String, _
Optional UserName As Variant, _
Optional Password As Variant) As Boolean
On Error GoTo ErrFunction
Dim obj_Wsh As WshNetwork
On Local Error Resume Next
' Nuevo objeto WshNetwork
Set obj_Wsh = New WshNetwork
' Verifica los parámetros de usuario y password
If Not (IsMissing(UserName) And _
IsMissing(Password)) And _
txtUsuario <> vbNullString And _
txtPassword <> vbNullString Then
obj_Wsh.MapNetworkDrive LocalName, RemoteName, UserName, Password
Else
obj_Wsh.MapNetworkDrive LocalName, RemoteName
End If
Select Case Err.Number
Case 0 ' No hubo error
Mapear_Unidad_De_Red = True
'Elimina la referencia
Set obj_Wsh = Nothing
Exit Function
Case -2147024829
MsgBox " Aquest recurs de xarxa no existeix ", vbCritical
Case -2147024811
MsgBox " Aquest recurs de xarxa ja està connectat ", vbCritical
Case -2147022646
MsgBox " Error: Verifica si el nom de " & _
"la unitat és correcte ", vbCritical
Case Else
MsgBox Err.Description, vbCritical
End Select
Mapear_Unidad_De_Red = False
'Elimina la referencia
Set obj_Wsh = Nothing
Exit Function
ErrFunction:
MsgBox Err.Description
'Elimina la referencia
Set obj_Wsh = Nothing
End Function
' Botón para mapear
Private Sub Command1_Click()
Dim ret As Boolean
ret = Mapear_Unidad_De_Red("Z:", "\\192.168.1.10\" & _
txtUsuario, _
txtUsuario, txtPassword)
If ret Then
MsgBox " Carpeta en Xarxa conectada ", vbInformation, _
" Connectar Unitat de Xarxa"
End If
End Sub
'Función que remueve una unidad de red
'----------------------------------------------
Function Remover_Unidad_De_Red(Nombre As String) As Boolean
On Error GoTo ErrFunction
Dim obj_Wsh As WshNetwork
On Local Error Resume Next
' Nuevo objeto WshNetwork
Set obj_Wsh = New WshNetwork
'Remueve la unidad
obj_Wsh.RemoveNetworkDrive ("Z:")
Select Case Err.Number
Case 0 ' Ok
Remover_Unidad_De_Red = True
'Elimina la referencia
Set obj_Wsh = Nothing
Exit Function
Case -2147024829
MsgBox " El recurs de xarxa no existeix " & _
"s'ha pogut accedir ", vbCritical
Case -2147022646
MsgBox " Error: Verifica si el nom de " & _
"la unitat és correcte ", vbCritical
Case Else
MsgBox Err.Description, vbCritical
End Select
Remover_Unidad_De_Red = False
'Elimina la referencia
Set obj_Wsh = Nothing
Exit Function
ErrFunction:
MsgBox Err.Description
'Elimina la referencia
Set obj_Wsh = Nothing
End Function
' Botón que remueve la unidad
Private Sub Command2_Click()
Dim Nombre As String
Dim ret As Boolean
Nombre = "Z:"
If Nombre = vbNullString Then Exit Sub
ret = Remover_Unidad_De_Red(Nombre)
If ret Then MsgBox " Unitat desconnectada", vbInformation
End Sub
'Captions
Private Sub Form_Load()
Command1.Caption = " Connectar "
Command2.Caption = " Desconnectar"
txtUsuario.Text = vbNullString
txtPassword.Text = vbNullString
End Sub
Muchas gracias..
Valora esta pregunta


0