Access交流中心

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

VBA

FK  发表于:2011-01-05 09:15:34  
复制

Dim I As Integer
    Dim rs As ADODB.Recordset
    Set rs = New ADODB.Recordset
    Dim str As String
    str = "select * from MyTable"
    rs.Open str, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    Set fs = CreateObject("Scripting.FileSystemObject")
    rs.MoveFirst
    If Not rs.EOF Then
        For I = 1 To rs.RecordCount
            ps_folder = "\\10.122.9.99\Scan\" & rs(0) & "*"
            If Dir(ps_folder, vbDirectory) <> "" Then
                fs.MoveFolder ps_folder, "\\10.122.9.99\FK\"
            End If
            rs.MoveNext
        Next
    End If

 

各位老师好,上面的程序是把文件夹从Scan目录移动至FK目录中,现在我想把移动单个文件(PDF或者JPEG格式)而不是移动单个文件夹,该怎么改上面的程序呢?希望能得到帮助,谢谢大家。

 

Top
煮江品茶 发表于:2011-01-05 10:34:39

fs.MoveFolder ps_folder, \\10.122.9.99\FK\改成:

name ps_folder & "\*.PDF" as  "\\10.122.9.99\FK\*.PDK"



煮江品茶 发表于:2011-01-05 10:44:44

改成如下也可以:

fs.MoveFile  ps_folder & "\*.PDF","\\10.122.9.99\FK\*.PDK"




金鑫 发表于:2011-01-05 15:21:56

好像不行啊。一直报错“无效的过程调用或参数”。



金鑫 发表于:2011-01-05 15:39:39

从上面的回帖得到启发解决了此问题,谢谢煮江品茶



煮江品茶 发表于:2011-01-05 15:43:58

 不可能这么失败吧?太失颜面了,好赖也是总版主的头衔,呵呵。

 

终极的处理方法就是两个:

其一是用name,这个方法不需要定义或创建FileSystemObject对。基本用法为:name 源文件夹/源文件 as 目标文件夹/目标文件

其二是用FileSystemObject对象的move方法。基本用法为: fs.MoveFile 源文件,目标文件



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