我正在尝试在当前月份文件夹中的文件上运行以下宏。我有一个宏工作,它在共享的驱动器位置找到当前月份的文件夹,并成功调用此宏。但是,下面的宏指定了March,但我正在寻找一种方法来指定"当前月份"所以我不必每个月都更换宏。 (此宏只将.csv转换为.xlsx,但现在仅用于测试目的。)
Sub Reject_Review()
ActiveWorkbook.Worksheets.Add
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;G:\Rejects\2017\March\Test_3.csv" _
, Destination:=Range("$A$1"))
.Name = "Test"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = Array(2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 _
, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
答案 0 :(得分:1)
使用VBA Format
关键字
返回包含格式化表达式的Variant(String) 根据格式表达式中包含的说明..
格式(表达式[,格式[,firstdayofweek [,firstweekofyear]]])
https://msdn.microsoft.com/en-us/library/office/gg251755.aspx
不要忘记你的一年也需要更新。
"TEXT;G:\Rejects\" & Year(Date) & "\" & Format(Date, "mmmm") & "\Test_3.csv"
答案 1 :(得分:0)
此功能适用于VBA:
Function GetMonth() As String
GetMonth = Application.WorksheetFunction.Text(Date, "mmmm")
End Function