仅复制文件夹VBA的第一个文件

时间:2017-04-06 08:35:04

标签: excel vba excel-vba

我找到了如何使用VBA将文件夹中的所有文件复制到另一个文件夹。

我唯一能找到的就是如何才能移动文件夹的前三项。

我每个项目拍摄三张照片,每个项目我都会使用Excel工作表创建另一个文件夹。所以它应该移动(或复制)三张图片,然后移动到接下来的三张图片并执行相同的操作(但使用另一个文件夹)。

我唯一能找到的是如何只从文件夹中选择三个第一项。

我目前使用.copyfile方法。

Dim ESN, FromPath, ToPath, LastRow, PN, FileToCopy, MyFile, i, k,     NumberOfFiles As Integer, Module
LastRow = ActiveWorkbook.ActiveSheet.Range("E" & Rows.Count).End(xlUp).Row + 1
 NumberOfFiles = InputBox("How many parts do you want to enter?", "# of parts?")

Dim FSO As Object
Set FSO = CreateObject("scripting.filesystemobject")
'Select all files
FileToCopy = "*.*"


ESN = ActiveWorkbook.ActiveSheet.Range("A1").Value
ESN = Right(ESN, 6)
For k = NumberOfFiles To 1 Step -1
'path toekennen
Module = ActiveWorkbook.ActiveSheet.Range("B" & LastRow - k).Value
PN = ActiveWorkbook.ActiveSheet.Range("G" & LastRow - k).Value
FromPath = "D:\DCIM\100OLYMP\"
ToPath = "U:\tmo\Checklist Engine Records\LEAP 1A\PHOTOS\" & Module & _
"\" & ESN & "_" & PN & "\"
MyFile = Dir(FromPath & "\*.JPG")

'folder creeeren als deze niet bestaat
If FSO.folderexists(ToPath) = False Then
FSO.createfolder ToPath
End If
    For i = 0 To 2
    FSO.movefile Source:=FromPath & FileToCopy, Destination:=ToPath
    MyFile = Dir
    Next i
Next k`

谢谢! KawaRu。

1 个答案:

答案 0 :(得分:0)

myfile=dir("c:\yourpath" & "\*.jpeg")
i=1
for i = 1 to 3
 ' your commands
myfile=Dir
next i

这可能对您有所帮助...在您的函数或子代码中添加此代码...