VB的文件操作例程 我想做一个备份功能,用commandialog选择目标文件夹和文件名,将固定处的.MDB文件备份至指定处,不知怎么实现,也就是VB如何操作文件这一块,还有commondialog如何设置. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Public Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As LongPublic Type SHFILEOPSTRUCThwnd As LongwFunc As LongpFrom As StringpTo As StringfFlags As IntegerfAnyOperationsAborted As LonghNameMappings As LonglpszProgressTitle As String '只有在 FOF_SIMPLEPROGRESS 时用End Type'wFunc 常数'FO_COPY 把 pFrom 文件拷贝到 pTo。Public Const FO_COPY = &H2'FO_DELETE 删除 pFrom 中的文件(pTo 忽略)。Public Const FO_DELETE = &H3'FO_MOVE 把 pFrom 文件移动到 pTo。Public Const FO_MOVE = &H1'fFlag 常数'FOF_ALLOWUNDO 允许 Undo 。Public Const FOF_ALLOWUNDO = &H40'FOF_NOCONFIRMATION 不显示系统确认对话框。Public Const FOF_NOCONFIRMATION = &H10'FOF_NOCONFIRMMKDIR 不提示是否新建目录。Public Const FOF_NOCONFIRMMKDIR = &H200'FOF_SILENT 不显示进度对话框Public Const FOF_SILENT = &H4‘’‘ 实现部分 Dim nowtime As String, dd As String, riqi As String nowtime = Format(Now, "hh-mm-ss") dd = str(Date) riqi = dd + "-" + nowtime strTemp = riqi CommonDialog1.CancelError = True On Error GoTo ErrHandler ' 设置标志 CommonDialog1.Flags = cdlOFNHideReadOnly ' 设置过滤器 CommonDialog1.Filter = "All Files (*.*)|*.*" ' 指定缺省的过滤器 CommonDialog1.FilterIndex = 2 ' 显示“打开”对话框 ' CommonDialog1.FileName = "data" & riqi CommonDialog1.ShowSave ' 显示选定文件的名字 riqi = CommonDialog1.FileName ' 拷贝 Dim SHFileOp As SHFILEOPSTRUCT SHFileOp.wFunc = FO_COPY SHFileOp.pFrom = “你的固定处的.MDB文件的路径” SHFileOp.pTo = riqi SHFileOp.fFlags = FOF_ALLOWUNDO + FOF_NOCONFIRMMKDIR Call SHFileOperation(SHFileOp)ErrHandler: ' 用户按了“取消”按钮 Exit Sub 请教表达式解释器增加自定义函数 如何在普通的form体中调用父窗体(MDIform)中的控件呢? vb与access连接查询结果提示出错 如何用最简单的办法清空数组变量? 关于数字组合问题 如何响应三键鼠标滑轮 VB生成曲线托拽和改变形状的问题 c/s程序中数据的保存修改更新等... 这个问题很简单!!! VB6中关于更改图标 使用datagrid控件,查询定位的问题,相信是大多数人遇到的问题?? 紧急招聘!!!精通VB,SQLServer,在深圳布吉!!!
Public Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
Public Type SHFILEOPSTRUCThwnd As LongwFunc As LongpFrom As StringpTo As StringfFlags As IntegerfAnyOperationsAborted As LonghNameMappings As LonglpszProgressTitle As String '只有在 FOF_SIMPLEPROGRESS 时用End Type'wFunc 常数'FO_COPY 把 pFrom 文件拷贝到 pTo。Public Const FO_COPY = &H2'FO_DELETE 删除 pFrom 中的文件(pTo 忽略)。Public Const FO_DELETE = &H3'FO_MOVE 把 pFrom 文件移动到 pTo。Public Const FO_MOVE = &H1
'fFlag 常数'FOF_ALLOWUNDO 允许 Undo 。Public Const FOF_ALLOWUNDO = &H40'FOF_NOCONFIRMATION 不显示系统确认对话框。Public Const FOF_NOCONFIRMATION = &H10'FOF_NOCONFIRMMKDIR 不提示是否新建目录。Public Const FOF_NOCONFIRMMKDIR = &H200'FOF_SILENT 不显示进度对话框Public Const FOF_SILENT = &H4
‘’‘ 实现部分
Dim nowtime As String, dd As String, riqi As String
nowtime = Format(Now, "hh-mm-ss")
dd = str(Date)
riqi = dd + "-" + nowtime
strTemp = riqi
CommonDialog1.CancelError = True
On Error GoTo ErrHandler
' 设置标志
CommonDialog1.Flags = cdlOFNHideReadOnly
' 设置过滤器
CommonDialog1.Filter = "All Files (*.*)|*.*"
' 指定缺省的过滤器
CommonDialog1.FilterIndex = 2
' 显示“打开”对话框
'
CommonDialog1.FileName = "data" & riqi
CommonDialog1.ShowSave
' 显示选定文件的名字
riqi = CommonDialog1.FileName
' 拷贝
Dim SHFileOp As SHFILEOPSTRUCT
SHFileOp.wFunc = FO_COPY
SHFileOp.pFrom = “你的固定处的.MDB文件的路径”
SHFileOp.pTo = riqi
SHFileOp.fFlags = FOF_ALLOWUNDO + FOF_NOCONFIRMMKDIR
Call SHFileOperation(SHFileOp)
ErrHandler:
' 用户按了“取消”按钮
Exit Sub