Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]Rename函数

小英  发表于:2014-04-01 22:04:09  
复制

 

'我在网上看到这个重命名文件或文件夹的模块,觉得正是我苦苦找寻的横块,可惜在VBA环境不能运行,要是有办法改写成VBA环境的该多好?
Private Const FO_MOVE = &H1
Private Const FO_COPY = &H2
Private Const FO_DELETE = &H3
Private Const FO_RENAME = &H4
Private Const FOF_NOCONFIRMATION = &H10
Private Const FOF_SILENT = &H4
Private Const FOF_NOERRORUI = &H400
Private Declare Function SHFileOperation Lib "shell32.dll " Alias "SHFileOperationA " (lpFileOp As SHFILEOPSTRUCT) As Long
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 Type

Public Function ReName(ByVal lfrmhWnd As Long, ByVal sFrom As String, ByVal sTo As String, ByVal fShowProgress As Boolean) As Boolean
Dim udtPath As SHFILEOPSTRUCT
udtPath.hwnd = lfrmhWnd
udtPath.wFunc = FO_RENAME
udtPath.pFrom = sFrom
udtPath.pTo = sTo
udtPath.fFlags = FOF_NOCONFIRMATION Or FOF_NOERRORUI Or IIf(fShowProgress, 0, FOF_SILENT)
ReName = Not CBool(SHFileOperation(udtPath))
End Function

Private Sub btnSave_Click()
'
重命名目录
Call ReName(0, "F:\VBCODE ", "F:\VBCODE1 ", False)
'
重命名文件
Call ReName(0, "F:\SN.txt ", "F:\SN.BAK ", False)
End Sub

 

Top
竹笛 发表于:2014-04-01 22:28:21
 name "c:\aaa" as "c:\bbb" 


麥田 发表于:2014-04-01 22:30:57

见过重命名access对象名称的用法

DoCmd.Rename "重命名后的表名称", acTable, "被更改的表名称"

 



缪炜 发表于:2014-04-02 16:10:51
 Shell "cmd /c ren " & "F:\SN.txt " & "F:\SN.BAK " 或者
name  "F:\SN.txt " as  "F:\SN.BAK "


总记录:3篇  页次:1/1 9 1 :