我是vba的新手,我可以使用一些幫助。 這是我正在使用的代碼。這只是調用另一個宏和循環的基本宏。但是,它似乎在跳過從workbooks.open
到activeworkbook.saveas
的所有內容。 令人討厭的是,我以前使用過這個代碼兩次,但使用不同的文件名和路徑,一切正常。代碼在第二個宏中不起作用
我已經通過代碼,它似乎只是跳過那些行,它不會在原始代碼中執行。
Sub oddball_macro_loop()
'
' oddball_macro_loop Macro
'
'
Dim rawPath As String
Dim rawFile As String
Dim savePath As String
Dim oWB As Workbook
Dim fName As Variant
rawPath = "I:\Cores\DMB\E-Prime Tasks\Salience Task\Data\Macros\Raw\For macro"
rawFile = Dir(rawPath & "*.txt")
savePath = "I:\Cores\DMB\E-Prime Tasks\Salience Task\Data\Macros\Processed"
ChDir (rawPath)
Application.DisplayAlerts = True
Do While rawFile <> ""
Workbooks.Open Filename:="I:\Cores\DMB\E-Prime Tasks\Salience Task\Data\Macros\oddball_macro.xlsm"
Set oWB = Workbooks.Open(rawPath & rawFile)
Application.Run "'oddball_macro.xlsm'!oddball_macro"
Sheets("Data").Select
'Sets File Name
Dim text As String
text = Range("Z12")
fName = Mid(text, 19)
ActiveWorkbook.SaveAs Filename:=savePath & fName, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.Close False
rawFile = Dir()
Loop
ActiveWorkbook.Close False
Application.ScreenUpdating = True
End Sub
'rawPath'結尾可能缺少一個路徑分隔符?也許試試'rawFile = Dir(rawPath&Application.PathSeparator&「* .txt」)' – 2014-08-27 21:44:05