VBA查找可变文件夹名称中的所有CSV文件

时间:2017-03-21 21:30:57

标签: excel vba excel-vba csv

我有一个项目来创建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

1 个答案:

答案 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