Excel工作表中的列表中的VBA移动文件

问题描述:

我想从包含A列中的文件路径的Excel文件(listfiles.xlsx)中将文件移动到另一个文件夹。下面的代码对我无效,您能帮忙吗我好吗?Excel工作表中的列表中的VBA移动文件

Sub movefile1() 
Dim fso As FileSystemObject 
Dim i As Long 
Dim worksh As Worksheet 
Dim workboo As Workbook 

Set fso = CreateObject("scripting.filesystemobject") 
Destination = "C:\Users\Desktop\Folder" 

Set workboo = Workbooks.Open("C:\Users\TOSHIBA\Desktop\list_files.xlsx") 
Set worksh = Worksheets("Listing") 

numRows = worksh.Range("A" & Rows.Count).End(xlUp).Row 
workboo.Windows(1).Visible = False 

     For i = 2 To numRows 
     Filepath = worksh.Range("A" & i).Value 
     fso.CopyFile Filepath, Destination 
    Next 

    End Sub 

我改变了代码,但fso.CopyFile Filepath, Destination不起作用。他们说,允许拒绝

+0

'昏暗excelfile作为String'执行?这不能与'Set excelfile = Workbooks.Open(“C:\ Desktop \ output file \ listfiles.xlsx”)'行结合使用。而是使用'Dim excelfile As Workbook'。另外,如果您使用的是库,请将它们包含在您的描述或代码中:''使用参考“Microsoft脚本运行时”'。最后,您可能需要更新您的'With'语句以包含(刚刚打开的)Excel文件:'With excelfile.Worksheets(“Sheet1”)'。 – Ralph

+0

@Ralph谢谢你,我改变了,但现在我在最后一行有问题。权限问题 – JeanLo

+0

然后,这不再是VBA编程问题,而是您必须使用本地系统管理员解决的权限问题。我们无法在此修改您的权限。 – Ralph

广场环路前行numRows = .Range("A" & .Rows.Count).End(xlUp).Row,否则循环不会在所有

+0

我试过但它不起作用 – JeanLo

+0

您是否收到错误? – gizlmo

+0

是在行numRows = .Range(“A”&.Rows.Count).End(xlUp)。行 然后像excel文件不要打开使用他们的信息来移动文件 – JeanLo