Private Sub Command1_Click()
    Dim CopySure As Long
    Dim fso As New FileSystemObject
    Dim file1 As Folder
    
    Set fso = CreateObject("scripting.filesystemobject")
     
    file2 = fso.MoveFolder("D:\Program Files\Microsoft SQL Server\MSSQL\log\", "e:\0018")
    
    End Sub 
运行是总是说我缺少函数或变量,错误停在movefolder那我是想把log这个文件夹 复制到e盘0018这个文件夹 大家提点意见

解决方案 »

  1.   

    fso.MoveFolder是没有返回值的,换成这样试试
    Private Sub Command1_Click()
        Dim CopySure As Long
        Dim fso As New FileSystemObject
        Dim file1 As Folder
        
        Set fso = CreateObject("scripting.filesystemobject")
         
        fso.MoveFolder "D:\Program Files\Microsoft SQL Server\MSSQL\log\", "e:\0018"
        
        End Sub 
      

  2.   

    Option ExplicitPrivate Sub Command1_Click()
        Dim CopySure As Long
        Dim fso ' 去掉就行了,因为已经有createobject函数了
        Dim file2
        Dim file1 As Folder
        
        Set fso = CreateObject("scripting.filesystemobject")
         
        file2 = fso.MoveFolder("D:\test1", "d:\test\")
        
        End Sub
    说明
    object.movefolder source,des
    des如果以"\"结尾,则认为是一个存在的文件夹
    否则,认为是一个要创建的文件夹
      

  3.   

    如果 source 包含通配符或 destination 以路径分隔符 (\) 为结尾,则认为 destination 指定了一个已存在的文件夹,在此文件夹中移动相匹配的文件。否则,认为 destination 是一个要创建的目标文件夹名字。在上面的任一种情况下,当一个文件夹被移动时可能出现三种情况。 如果 destination 不存在,文件夹得到移动。这是通常的情况。
    如果 destination 是一个已存在文件,则发生一个错误。
    如果 destination 是一个目录,则发生一个错误。 
    如果 source 中使用的一个通配符不能和任何文件夹相匹配,也发生一个错误。MoveFolder 方法停止在它遇到的第一个错误上。不要尝试回卷在错误发生前所做的任何改变。重点   只有在操作系统支持的情况下,这个方法才允许文件夹在卷之间移动。
      

  4.   

    用FileSystemObject方法太多了
    Private Sub Command1_Click()
    Dim move
     Set fso = CreateObject("Scripting.FileSystemObject")
      move = fso.copyfolder("d:2", "e:\1")
      MsgBox "移动更名成功"
      fso.deletefolder ("d:\2")
      MsgBox "删除成功"
    End Sub