Quisiera saber si me puedes ayudar en lo siguiente: quiero con un botón en un formulario, mediante código mover la carpeta c:\salerno en la carpeta c:\documentos_compartidos\salerno ¿Es posible?
base = "XCOPY " & origen & " " & destino 'Utiliza la función waitShell en vez de Shell para que espere a que acabe de hacer la copia para proseguir WaitShell base, 0 La función waitshell es una API de windows que tienes que definir, coloca lo siguiente como un modulo, con el nombre que quieras. Option Compare Database Option Explicit Private Const SYNCHRONIZE = &H100000 Private Const INFINITE = &H5000 '&HFFFF Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long Function WaitShell(AppName$, mode) Dim hMod As Long, AppRoot As String AppRoot = Left$(AppName$, InStr(AppName$ & " ", " ")) hMod = Shell(AppName$, mode) If hMod <> 0 Then WaitForTerm hMod Else MsgBox "No es pot engegar " & AppRoot End If End Function Sub WaitForTerm(pid&) Dim phnd& phnd = OpenProcess(SYNCHRONIZE, 0, pid) If phnd <> 0 Then Call WaitForSingleObject(phnd, INFINITE) Call CloseHandle(phnd) End If End Sub Y ya esta, la funcion wait shell la puedes utilizar para cualquier comando dde DOS valido con la ventaja de que se espera a que acabe su ejecucion para seguir procesando instrcciones de access Espero haberte ayudado y perdón por el retraso pero estaba de vacaciones
En un botón de tu formulario, pones el siguiente código: Dim fs As New FileSystemObject fs.MoveFolder "c:\salerno ", "c:\documentos_compartidos\salerno" Set fs = Nothing Debes añadir en las referencias del editor de VB una llamada a Microsoft Scripting Runtime.
Amigo, me sale error de compilación: no se ha definido el tipo definido por el usuario. Y eso que añadí la referencia del editor de vb Microsoft Scriptig Runtime. ¿Qué sera?
Error en tu librería, parece. También hay un comando llamado shell("ejecutable") desde el que puedes llamar al comando msdos que necesites para renombrar tus directorios. Suerte