我想知道如何使用变量名在VBA中打开工作簿

时间:2016-04-17 17:16:32

标签: excel vba excel-vba

我想在宏中打开一个excel工作簿,该宏具有常量名称,变量日期和由字母和数字组成的变量后缀。例如。

" Allpostings_041616_big232.xlsx"可能是4月16日的文件名

4月17日文件可能如下所示

" Allpostings_041716_agd214.xlsx"

如果我想在我的宏中为日期选择文件,我将如何在VBA中编码?

2 个答案:

答案 0 :(得分:2)

考虑:

Sub dural()
    Dim P(1 To 5) As String

    P(1) = "C:\TestFolder\"
    P(2) = "Allpostings_"
    P(3) = Format(Now(), "mmddyy") & "_"
    P(4) = "big232.xlsx"
    s = Join(P, "")

    Workbooks.Open Filename:=s
End Sub

只需修改P(4)行即可满足您的需求。

修改#1:

如果所有可能的文件都包含在一个文件夹中,并且所有文件都具有相同的名称架构,那么这里有一种方法可以找到要打开的正确文件:

  1. 使用Dir()循环收集所有文件名
  2. 扫描正确日期字段的文件名列表
  3. 输入找到的文件

答案 1 :(得分:0)

另一种方式......

Sub test()
    workbookopen ("big232")
    workbookopen ("agd214")
End Sub

Function workbookopen(lastpart As String)
    ChDir ("C:\work\")
    Files = Dir("*.xlsx")
    Do While Files <> ""
        If Files = "Allpostings_" & Format(Now(), "mmddyy") & "_" & lastpart & ".xlsx" Then
            Workbooks.Open (Files) '"Allpostings_" & Format(Now(), "mmddyy") & "_" & lastpart & ".xlsx"
        End If
        Files = Dir
    Loop
End Function