** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - crear directorio en servidor
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

crear directorio en servidor

 Responder Responder
Autor
Mensaje
pepepot Ver desplegable
Asiduo
Asiduo


Unido: 24/Noviembre/2006
Estado: Sin conexión
Puntos: 242
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita pepepot Cita  ResponderRespuesta Enlace directo a este mensaje Tema: crear directorio en servidor
    Enviado: 13/Marzo/2019 a las 14:43
Hola

He intentado utilizar una función copiada en este mismo foro y me da un error que no logro solventar.
El error es "Error de compilación: Error de tipo: se esperaba una matriz o un tipo definido por el usuario" y me marca la función Trim de la línea ==>Carpetas = Split(Trim(strRuta), "\")



La función sería

'*******************************************************************************
'* CrearRuta
'* Comprueba si existe la ruta pasada como parámetro y si es necesario la crea
'* Argumentos: strRuta => Ruta a crear
'* uso: CrearRuta C:\Mis documentos\Prueba
'* ESH 13/03/05 22:32
'*******************************************************************************
Public Function CrearRuta(strRuta As String) As String
Dim fso As Object
Dim Carpetas As Variant
Dim i As Integer
Dim strUnidad As String
Dim strCarpeta As String
Dim strDriveTemp As String

On Error GoTo CrearRuta_TratamientoErrores
CrearRuta = ""
Set fso = CreateObject("Scripting.FileSystemObject")

'------|-------------------------------------------------------|
'------| 'extraigo la unidad de disco
strUnidad = fso.GetDriveName(strRuta) & "\"
'------|-------------------------------------------------------

'Adicionado: Para averiguar si existe la carpeta de la aplicaicion en el Servidor
If InStr(strUnidad, ":") = 0 Then
   strDriveTemp = Mid(strUnidad, 1, Len(strUnidad) - 1)
   If Not fso.FolderExists(strUnidad) Then MsgBox "No Existe la carpeta " & Mid(strDriveTemp, InStrRev(strDriveTemp, "\") + 1) & _
                                     " en el Servidor " & Mid(strDriveTemp, 3, InStrRev(strDriveTemp, "\") - 3) & vbCrLf & vbCrLf & _
                                     "Creé primero la Carpeta de la Aplicacion en el Servidor", vbCritical + vbOKOnly, "Error!": Exit Function
   strRuta = Replace(strRuta, strUnidad, "\")
End If
' troceo la ruta
Carpetas = Split(Trim(strRuta), "\")
' compruebo si existen las distintas carpetas y en su defecto las creo
strCarpeta = strUnidad
For i = 1 To UBound(Carpetas)
   If Len(Carpetas(i)) > 0 Then
      strCarpeta = fso.BuildPath(strCarpeta, Carpetas(i))
      If Not fso.FolderExists(strCarpeta) And Len(strCarpeta) > 0 Then fso.CreateFolder strCarpeta: CrearRuta = CrearRuta & strCarpeta & vbCrLf
   End If
Next i
Set fso = Nothing
If Len(CrearRuta) > 0 Then MsgBox "Se han creado las siguientes carpetas con éxito !" & vbCrLf & vbCrLf & CrearRuta, vbInformation + vbOKOnly, "Mensaje"

CrearRuta_Salir:
   On Error GoTo 0
   Exit Function
CrearRuta_TratamientoErrores:
   MsgBox "Error " & Err.Number & " - " & Err.Description
   Resume CrearRuta_Salir
End Function


Arriba
lbauluz Ver desplegable
Administrador
Administrador
Avatar

Unido: 29/Marzo/2005
Localización: ROC, NY
Estado: Sin conexión
Puntos: 3274
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita lbauluz Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 13/Marzo/2019 a las 16:59
A mi me funciona (Excel 2010)

Eso si, la función falla si intentas usar el disco BÑ y no tienes disco B, no hace nada pero no da error.

Luis
Those are my principles, and if you don't like them... well, I have others. Groucho Marx
Arriba
pepepot Ver desplegable
Asiduo
Asiduo


Unido: 24/Noviembre/2006
Estado: Sin conexión
Puntos: 242
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita pepepot Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 13/Marzo/2019 a las 17:03
En mi caso es Access.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable