我的最終目標是能夠搜索檔案路徑,另一個用戶將在每個月創建一個新檔案夾(例如下個月用戶將創建檔案夾“2022 年 1 月”),我需要能夠搜索該檔案夾以基于當前月份和年份的自動方式進行。
我的計劃是像這樣創建一個字串物件:
Dim strDirectory As String
strDirectory = "C:\foo\bar\baz\" & strCurrentMonthName & " " & strCurrentYear
但是,我無法將年份提取為文本。最初我試圖這樣做:
Dim TestMonth As String
Dim TestYear As String
TestYear = Year(Now)
TestMonth = GetMonthName(Format(Now, "mm"))
問題是testYear作為 7/13/1905 回傳。此網頁顯示了如何在電子表格中修復此錯誤,但這對我的情況無濟于事,因為永遠不會從電子表格中提取日期(因為我覺得這是一種非常容易出錯的做事方式)。Year 函資料說只適用于 Variant、Numeric 或 String 運算式,我不知道如何從Now.
請記住,我訪問標準庫的能力非常有限,我使用的是舊版本的 Excel (2016) 并且無法控制包或更新(有些功能我不得不做,例如 MonthName( ) 例如,我必須創建自己的版本)
uj5u.com熱心網友回復:
Format回傳一個Variant (String),其中包含根據格式運算式中包含的指令格式化的運算式。
因此,無論您表達何種格式,Format都將作為字串回傳。
Public Sub Test()
Dim CurrentDate As Date
CurrentDate = Date
Dim strDirectory As String
strDirectory = "C:\foo\bar\baz\" & Format(CurrentDate, "mmm yy") '"C:\foo\bar\baz\Dec 21"
strDirectory = "C:\foo\bar\baz\" & Format(CurrentDate, "mmmm yyyy") '"C:\foo\bar\baz\December 2021"
End Sub
不需要GetMonthName函式 -Format(Now(),"mmmm")本月回傳 12 月。
uj5u.com熱心網友回復:
弄清楚了:
Dim TestMonth As String
Dim TestYear As Date
testYear = Now
TestMonth = GetMonthName(Format(Now, "mm"))
Range("A1").Select
ActiveCell.FormulaR1C1 = "C:\foo\bar\baz\" & TestMonth & " " & Year(TestYear)
輸出:
C:\foo\bar\baz\December 2021
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/387558.html
上一篇:PostgresException:42601:“00”處或附近的語法錯誤
下一篇:excel如何將數字轉成字串
