Public Declare Function MoveFileA Lib "kernel32.dll" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String) As Long Public Declare Function MoveFileW Lib "kernel32.dll" (ByVal lpExistingFileName As Long, ByVal lpNewFileName As Long) As Long' Rename the file back to the original name If m_bIsNT Then MoveFileW StrPtr(FileName1), StrPtr(FileName) Else MoveFileA FileName1, FileName End If
CommonDialog1.ShowOpen
FileCopy CommonDialog1.FileNmae, "c:\" & CommonDialog1.FileTitle
FSO 对象模型编程包括三项主要任务: 使用CreateObject 方法,或将一个变量声明为 FileSystemObject 对象类型来创建一个 FileSystemObject 对象。
对新创建的对象使用适当的方法。
访问该对象的属性。
FSO 对象模型包含在一个称为 Scripting 的类型库中,此类型库位于 Scrrun.Dll 文件中。如果还没有引用此文件,请从“属性”菜单的“引用”对话框选择“Microsoft Scripting Runtime”项。然后就可以使用“对象浏览器”来查看其对象、集合、属性、方法、事件以及它的常数。创建 FileSystemObject 对象
第一步是创建一个 FileSystemObject 对象以便进行处理。可以通过如下两种方法完成: 将一个变量声明为 FileSystemObject 对象类型:
Dim fso As New FileSystemObject使用 CreateObject 方法来创建一个 FileSystemObject 对象:
Set fso = CreateObject("Scripting.FileSystemObject")在上面的语法中, Scripting 是类型库的名称,而 FileSystemObject 则是想要创建一个实例的对象的名称。注意 第一种方法只在 Visual Basic 中有效,而第二种方法在 Visual Basic 或 VBScript 中都是可行的。使用适当的方法
下一步就是使用该 FileSystemObject 对象的适当的方法。例如,如果想要创建一个新对象,既可以使用 CreateFolder 方法也可以使用 CreateTextFile 方法。(FSO 对象模型不支持创建或删除驱动器。)如果想要删除对象,可以使用 FileSystemObject 对象的 DeleteFile 和 DeleteFolder 方法,或者 File 和 Folder 对象的 Delete 方法。使用适当的方法,还可以复制、移动文件和文件夹。请注意, FileSystemObject 对象模型中有一些功能是冗余的。例如,要复制一个文件,既可以使用 FileSystemObject 对象的 CopyFile 方法,也可以使用 File 对象的 Copy 方法。这两者的功能是完全相同的。两者同时存在以提供最大的编程灵活性。访问已有的驱动器、文件和文件夹
要访问一个已有的驱动器、文件或文件夹,请使用 FileSystemObject 对象中相应的 "get" 方法: GetDrive
GetFolder
GetFile
例如:Dim fso As New FileSystemObject, fil As File
Set fil = fso.GetFile("c:\test.txt")但是,请注意,并不需要对新创建的对象使用"get" 方法,因为"create" 函数已经返回了一个句柄到新创建的对象。例如,如果使用 CreateFolder 方法创建了一个新的文件夹,就没有必要使用 GetFolder 方法来访问该对象的诸如名称、路径、大小等属性。只要给 CreateFolder 函数设置一个变量来获取新建文件夹的句柄,然后就可以访问其属性、方法和事件:Private Sub Create_Folder()
Dim fso As New FileSystemObject, fldr As Folder
Set fldr = fso.CreateFolder("C:\MyTest")
MsgBox "Created folder: " & fldr.Name
End Sub
访问对象的属性
一旦有了对象的句柄,就能够访问其属性。例如,假定您想要获得一个特定文件夹的名称。首先要创建该对象的一个实例,然后通过适当的方法(在本例中是 GetFolder 方法,因为该文件夹已经存在)得到其句柄:Set fldr = fso.GetFolder("c:\")现在有了一个 Folder 对象的句柄,您可以查看其 Name 属性:Debug.Print "Folder name is: "; fldr.Name如果想要找出一个文件的最新修改时间,可以使用如下的语法:Dim fso As New FileSystemObject, fil As File
Set fil = fso.GetFile("c:\detlog.txt") ' 获得要查询的 File 对象。
Debug.Print "File last modified: "; fil.DateLastModified ' 显示信息。
Private Sub Command1_Click()
'使用CommonDialog控件实现选择文件的对话框。
CommonDialog1.ShowOpen
ifnm1 = CommonDialog1.FileName
CommonDialog1.ShowSave
ifnm2 = CommonDialog1.FileName
FileCopy ifnm1, ifnm2
End Sub
Public Declare Function MoveFileW Lib "kernel32.dll" (ByVal lpExistingFileName As Long, ByVal lpNewFileName As Long) As Long' Rename the file back to the original name
If m_bIsNT Then
MoveFileW StrPtr(FileName1), StrPtr(FileName)
Else
MoveFileA FileName1, FileName
End If
http://blog.csdn.net/lingll/