2016-05-30 73 views
0

我想從包含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

回答

0

廣場環路前行numRows = .Range("A" & .Rows.Count).End(xlUp).Row,否則循環不會在所有

+0

我試過但它不起作用 – JeanLo

+0

您是否收到錯誤? – gizlmo

+0

是在行numRows = .Range(「A」&.Rows.Count).End(xlUp)。行 然後像excel文件不要打開使用他們的信息來移動文件 – JeanLo

相關問題