我有一个项目来创建VBA,以查找并打开名为当前月份的文件夹中的所有CSV文件。我在网上发现了一些似乎很接近但不完全的东西。它们最终将转换为XLSX文件并进行解析。那部分我有。转换,解析和保存的宏将沿着相同的路径存放在不同的文件中,但不会“深入”。
因此,在我的桌面上有一个文件夹名称“CSV find test”。里面有两个文件夹“2月”和“3月”。我需要它在最近一个月打开所有csv文件。我有其余的语法。 。 。 。 。
我不认为它需要大量的语法。谢谢你的任何指示。
Sub OpenFile()
FileMonth = Month(Date)
FileDate = Format(Date, "mmmm")
FilePath = "C:\Users\Me\Desktop\CSV find convert tests\" & FileMonth & "\" & FileDate & ".xls"
Workbooks.Open Filename:="FilePath" <- - - - error happens here.
End Sub
答案 0 :(得分:1)
我不认为你真的理解变量如何工作,因为你一直把它放在一个字符串中。如果你用双引号放一些东西就会创建一个字符串。下面是如何通过变量将月份添加到字符串中。
Sub OpenCSVs()
Dim MyFiles As String, ThisMonth As String
Dim startPath As String
ThisMonth = Format(Date, "mmmm")
startPath = "C:\Users\ME\Desktop\CSV find convert tests\" & ThisMonth & "\"
MyFiles = Dir(startPath & "*.csv")
Do While MyFiles <> ""
Workbooks.Open startPath & MyFiles
'Do stuff to it will go here
'ActiveWorkbook.Close SaveChanges:=True (Deactivated for now)
MyFiles = Dir
Loop
End Sub