我想在一個具有恆定名稱,變量日期和由字母和數字組成的變量後綴的宏中打開一個excel工作簿。例如。我想知道如何在VBA中用變量名打開工作簿
「Allpostings_041616_big232.xlsx」可能是4月16日
文件名4月17日的文件可能看起來像這樣
「Allpostings_041716_agd214.xlsx」
如果我想選擇的文件對於我的宏中的tody日期,我將如何在VBA中編碼?
我想在一個具有恆定名稱,變量日期和由字母和數字組成的變量後綴的宏中打開一個excel工作簿。例如。我想知道如何在VBA中用變量名打開工作簿
「Allpostings_041616_big232.xlsx」可能是4月16日
文件名4月17日的文件可能看起來像這樣
「Allpostings_041716_agd214.xlsx」
如果我想選擇的文件對於我的宏中的tody日期,我將如何在VBA中編碼?
考慮:
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:
如果所有可能的文件都包含在一個單一的文件夾中,都有文件具有相同的名稱模式,那麼這裏就是找到正確的文件打開方式:
Dir()
循環來收集所有的文件名謝謝你加里!我唯一擔心的是P(4)部分總是會變化的,我不會事先知道變化是什麼。我如何編寫代碼來「接受」P(4)的任何內容?再次感謝! –
@LouM .........你怎麼樣,*(人類)*決定P(4)應該是什麼** ** –
@LouM看我的**編輯#1 * *爲可能的方法 –
另一種方式......
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
有每天只有一個文件? – Comintern
如何構建「由字母和數字組成的變量後綴」? –