Código VBA para renombrar directorio según el valor de un campo de formulario

Resuelto
doublem93 Mensajes publicados 349 Fecha de registro   Estado Miembro Última intervención   -  
doublem93 Mensajes publicados 349 Fecha de registro   Estado Miembro Última intervención   -
Hola, Gracias por tu mensaje. A continuación tienes la traducción al español del texto proporcionado, conservando formato HTML cuando sea relevante: Hola,

Necesito ayuda para mi base de Access porque a pesar de las búsquedas no encuentro la solución...

Mi problema es el siguiente:
Quiero, al hacer clic en un botón en un formulario, copiar y renombrar un directorio con el valor de un campo.

Para sortear el problema he encontrado el código que me permite copiar mi directorio modelo y llamarlo "New" pero no consigo darle el nombre en función del campo [NomRep].

Para empezar a solventarlo, he encontrado el código que me permite copiar mi directorio modelo y nombrarlo "New", pero no logro darle el nombre en función del campo [NomRep].

Sub CopyFolder(folderpath As String, destfolderpath As String) Dim fso As Object Dim fld As Object Set fso = CreateObject("Scripting.FileSystemObject") Set fld = fso.GetFolder(folderpath) fld.Copy destfolderpath End Sub Private Sub Commande50_Click() Call CopyFolder("D:\Dossiers\Dossiermodele", "D:\Dossiers\New") End Sub 


Por lo tanto necesitaría mucho sus luces si tienen tiempo para medirse...

Les agradezco de antemano por su ayuda

Cordialement

5 respuestas

  1. yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   Embajador 1 588
     
    ¿Todo eso se encuentra en un formulario?
    Si logras recuperar el valor de tu campo [NomRep] y colocarlo en la variable nouveaunom, puedes hacer:
    Private Sub Commande50_Click() dim nouveaumon as string nouveaunom = \"\" ' a ti te toca encontrar Call CopyFolder(\"D:\\Dossiers\\Dossiermodele\", \"D:\\Dossiers\\\"+nouveaunom) End Sub
    0
  2. doublem93 Mensajes publicados 349 Fecha de registro   Estado Miembro Última intervención   72
     
    Gracias

    Intentaré el lunes y les diré el resultado

    Cordialmente

    --
    Publicado desde el foro CCM Live para iPhone/iPad
    -1
  3. doublem93 Mensajes publicados 349 Fecha de registro   Estado Miembro Última intervención   72
     
    Hola,

    He probado la solución propuesta y no funciona. Nos encontramos con un error 76 y el subrayado de la línea fld.copy...

    Gracias de todos modos.

    --
    Publicado desde el foro CCM Live para iPhone/iPad
    -1
    1. yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   1 588
       
      Cuando la línea fld.copy está resaltada, si desplazas el cursor sobre "destfolderpath", se mostrará el valor de "destfolderpath". ¿Cuál es ese valor?
      0
  4. doublem93 Mensajes publicados 349 Fecha de registro   Estado Miembro Última intervención   72
     
    Buenas noches

    Lo revisaré a mi regreso a la oficina, que no ocurrirá hasta el miércoles o jueves.

    Gracias de nuevo por la ayuda.

    --
    Publicado desde el foro CCM Live para iPhone/iPad
    -1
  5. doublem93 Mensajes publicados 349 Fecha de registro   Estado Miembro Última intervención   72
     
    Hola,

    acabo de volver a intentarlo y funciona en cuanto el campo nombre de la carpeta no está vacío.

    Gracias por tu ayuda.

    --
    -1
    1. doublem93 Mensajes publicados 349 Fecha de registro   Estado Miembro Última intervención   72
       
      Explico que he reemplazado [NomRep] por [IdDossier] & " - " & [NomDossier].

      Son dos campos presentes en el formulario y que contienen la información presente en el campo [NomRep].





      --
      0
      1. doublem93 Mensajes publicados 349 Fecha de registro   Estado Miembro Última intervención   72 > doublem93 Mensajes publicados 349 Fecha de registro   Estado Miembro Última intervención  
         
        El código completo es el siguiente:


        Sub CopyFolder(folderpath As String, destfolderpath As String)
        Dim fso As Object
        Dim fld As Object
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set fld = fso.GetFolder(folderpath)
        fld.Copy destfolderpath
        End Sub

        Private Sub Commande50_Click()
        dim nouvelomon como string
        nouveaunom = Me.[IdDossier] & " - " & Me.[NomDossier]
        Call CopyFolder("D:\Dossiers\Dossiermodele", "D:\Dossiers\"+nouveaunom)
        End Sub
        `
        0