使用Name语句:Name 原目录名 As 新目录说明:若文件夹中有文件被打开,则目录不能被改名

解决方案 »

  1.   

    '引用Microsoft Scripting Runtime
    Dim fsoSys As New FileSystemObjectPrivate Sub Form_Load()
      fsoSys.MoveFolder "c:\temp\amd", "c:\temp\intel"
      Set fsoSys = Nothing
    End Sub
      

  2.   

    Private Type SHFILEOPSTRUCT
            hwnd As Long
            wFunc As Long
            pFrom As String
            pTo As String
            fFlags As Integer
            fAnyOperationsAborted As Long
            hNameMappings As Long
            lpszProgressTitle As String '  only used if FOF_SIMPLEPROGRESS
    End TypePrivate Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
    Private Const FO_RENAME = &H4Private Sub RenFold(ByVal SPath As String, ByVal DPath As String)
         Dim SHF As SHFILEOPSTRUCT
        With SHF
            .wFunc = FO_RENAME
            .pFrom = SPath & Chr(0) '一定要在目錄或名稱後面加上Chr(0)
            .pTo = DPath
        End With
        SHFileOperation SHF
    End Sub