Humbertogo 发表于 2007-10-31 07:32:59

将文件复制到正确的文件夹

我有许多文件夹。这是项目名称。例如,文件夹名称是100_
**** Hidden Message *****

Atook 发表于 2007-10-31 13:11:20

我不明白你的意思,也许你可以发布一个文件夹树的截图?

Humbertogo 发表于 2007-10-31 15:11:54

另一种方法是,我需要将项目编号30和175复制到正确的文件夹中,然后将“项目If 30 > 25 And 99 > 30或30 = 25或99 = 30”复制到文件夹25_99中

Bryco 发表于 2007-10-31 15:50:27

这将为您提供一个开始
Sub test()
Dim objFS As Object
Dim objDrive As Object
Dim objFldrs As Object
Dim objFldr As Object
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objDrive = objFS.GetFolder("C:\")
Set objFldrs = objDrive.subfolders
For Each objFldr In objFldrs
    If objFldr.Name < 100 Then
      objFldr.MoveFolder objFldr.Path, "c:\25_99\" & objFldr.Name
    ElseIf objFldr.Name < 251 Then
      objFldr.MoveFolder objFldr.Path, "c:\100_250\" & objFldr.Name
    End If
Next objFldr
End Sub

未测试,但应该非常接近。

Bryco 发表于 2007-10-31 16:06:51

只是注意到线程的名称与我的答案不匹配。如果要进行复制,则需要使用CopyFolder方法,而不是MoveFolder。

Atook 发表于 2007-11-5 14:39:19

我想,由于缺乏后续跟进,我要么离成功已经足够近了,要么离成功已经足够远了,你放弃了。

Humbertogo 发表于 2007-11-5 18:39:10


嗨鲍勃
他确实说过复制,但除此之外,它看起来像你钉了它。
FSO 对象非常有用
标记

Bryco 发表于 2007-11-5 20:12:34

由于字符串“11”>“100”,最好在检查之前将文件名转换为整数
如果是数字(文件名),则ifile=cint(文件名)

Bryco 发表于 2007-11-6 09:41:40


所以你是说,他应该将objFldr声明为Integer?
Dim objFldr As Integer
是这样,这是有意义的
但是,objFldr。Path是一个字符串
我注意到在VBSripting语言中,数据类型实际上并不常用,至少我是这样认为的。
当我使用脚本代码或将脚本代码引入VBA时,我会尝试分配正确的数据类型,而不是只使用nec的对象或变量。原因和避免过多使用变体。

Atook 发表于 2007-11-6 09:42:38


我明白了,我认为函数isnumeric将查看一个文本字符串并获取数值?
标记
页: [1] 2
查看完整版本: 将文件复制到正确的文件夹