Visual Basic para Aplicaciones - Conectar unidad de red con Virtual Basic

Life is soft - evento anual de software empresarial
 
Vista:

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..
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder