Note: The other languages of the website are Google-translated. Back to English

如何使用時間戳保存Excel文件名?

您是否曾經嘗試使用當前時間戳保存Excel文件? 本文將向您展示實現它的方法。

使用帶有VBA代碼的時間戳保存Excel文件名


箭頭藍色右氣泡 使用帶有VBA代碼的時間戳保存Excel文件名

您可以運行下面的VBA代碼以使用時間戳保存Excel文件名。 請執行以下操作。

1.在工作簿中,您需要按當前時間戳進行命名,請按 其他 + F11 同時打開 Microsoft Visual Basic for Applications窗口。

2。 在裡面 Microsoft Visual Basic for Applications 窗口,請點擊 插入 > 模塊。 然後將以下VBA代碼複製到 推薦碼 窗口。 看截圖:

VBA代碼:保存帶有時間戳的Excel文件名(用時間戳替換文件名)

Sub SaveAsFilenameWithTimestamp()
'Updated by Extendoffice 20191223
Dim xWb As Workbook
Dim xStrDate As String
Dim xFileName As Variant
Dim xFileDlg As FileDialog
Dim i As Variant
Application.DisplayAlerts = False
Set xWb = ActiveWorkbook
xStrDate = Format(Now, "yyyy-mm-dd hh-mm-ss")
If Right(xWb.Name, 4) = "xlsm" Then
  xFileName = Application.GetSaveAsFilename(xStrDate, "Excel Macro-Enabled Workbook (*.xlsm),*.xlsm")
Else
  xFileName = Application.GetSaveAsFilename(xStrDate, "Excel Workbook (*.xlsx),*.xlsx")
End If
If xFileName = False Then
Else
  xWb.SaveAs (xFileName)
End If
Application.DisplayAlerts = True
End Sub

3。 按 F5 鍵來運行代碼。 然後一個 另存為 對話框彈出,您可以看到時間戳顯示在文件名框中。 請指定保存此文件的位置,然後單擊 節省 按鈕。 看截圖:

筆記:

1.新創建的Excel文件將直接以當前時間戳的名稱保存。

2.對於那些已經存在的Excel文件,原始文件名將被替換為時間戳。

如果您只想添加時間戳後跟原始文件名而不是替換它,請應用以下 VBA 代碼。

VBA 代碼:保存帶有時間戳的 Excel 文件名(插入時間戳,後跟原始文件名)

Sub AddTimestampToFileName()
'Updated by Extendoffice 20191223
Dim xWb As Workbook
Dim xStr As String
Dim xStrOldName As String
Dim xStrDate As String
Dim xFileName As Variant
Dim xFileDlg As FileDialog
Dim i As Variant
Application.DisplayAlerts = False
Set xWb = ActiveWorkbook
xStrOldName = xWb.Name
xStr = Left(xStrOldName, Len(xStrOldName) - 5)
xStrDate = Format(Now, "yyyy-mm-dd hh-mm-ss")
If Right(xStrOldName, 4) = "xlsm" Then
  xFileName = Application.GetSaveAsFilename(xStr & " " & xStrDate, "Excel Macro-Enabled Workbook (*.xlsm),*.xlsm")
Else
  xFileName = Application.GetSaveAsFilename(xStr & " " & xStrDate, "Excel Workbook (*.xlsx),*.xlsx")
End If
If xFileName = False Then
Else
  xWb.SaveAs (xFileName)
End If
Application.DisplayAlerts = True
End Sub

箭頭藍色右氣泡相關文章:


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (12)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
是否有適用於 Word 文檔的版本?
網站主持人對此評論進行了最小化
我在下面有這個,它非常適合保存帶有日期戳的文件,但是如果更改為添加時間-> nbre = Format(Now, "yyyy-mm-dd hh:mm")


nbre = 格式(現在,“yyyy-mm-dd”)


Application.DisplayAlerts = False


ChDir "T:\分發中心"
ActiveWorkbook.SaveAs 文件名:="T:\Distribution Center\2.BACKLOG\DC BACKLOG " + nbre + ".xlsx", FileFormat _
:=xlOpenXMLWorkbook, WriteResPassword:="****", CreateBackup:=False



你能幫忙看看缺少什麼嗎???...
網站主持人對此評論進行了最小化
您不能在文件名中使用字符“:”
網站主持人對此評論進行了最小化
如果將其更改為 nbre = Format(Now, "yyyy-mm-dd hh-mm"),則無法在文件名中使用 : 保存文件
網站主持人對此評論進行了最小化
親愛的內森,
下面的 VBA 代碼可以幫助在文件名中添加時間戳。

子測試()
將 xWb 調暗為工作簿
將 xStr 調暗為字符串
將 xStrOldName 調暗為字符串
將 xStrDate 調暗為字符串
將 xFileName 調暗為字符串
將 xFileDlg 調暗為 FileDialog
將 i 調暗為變體
Application.DisplayAlerts = False
設置 xWb = ActiveWorkbook
xStrOldName = xWb.Name
xStr = 左(xStrOldName, Len(xStrOldName) - 5)
xStrDate = 格式(現在,“yyyy-mm-dd hh-mm-ss”)
If Right(xStrOldName, 4) = "xlsm" Then
xFileName = Application.GetSaveAsFilename(xStr & " " & xStrDate, "Excel 啟用宏的工作簿 (*.xlsm),*.xlsm")
其他
xFileName = Application.GetSaveAsFilename(xStr & " " & xStrDate, "Excel 工作簿 (*.xlsx),*.xlsx")
如果結束
xWb.SaveAs (x文件名)
Application.DisplayAlerts = True
END SUB
網站主持人對此評論進行了最小化
是否可以修改它以刪除以前的時間戳並將其保存在同一目錄中?
網站主持人對此評論進行了最小化
美好的一天,
抱歉不能幫你。
網站主持人對此評論進行了最小化
這有效,除非當用戶按下取消按鈕時,它仍然會創建一個名為“false”的文件。
網站主持人對此評論進行了最小化
嗨,賈森,
謝謝你提醒我。 代碼已更新。
網站主持人對此評論進行了最小化
是否可以嵌入代碼並告訴它保存文件的位置,而不是每次都單獨選擇保存路徑?
網站主持人對此評論進行了最小化
致相關人士,
我試圖暗示您的代碼“VBA 代碼:保存帶有時間戳的 Excel 文件名(在原始文件名中插入時間戳)” https://www.extendoffice.com/documents/excel/4413-excel-timestamp-filename.html. 但它停在帶有時間戳另存為對話框的新文件名處。 如果我想在“另存為”對話框後連續自動保存,請關閉所有工作簿並關閉應用程序。 您推薦什麼 VBA 代碼來結束這項工作? 請幫忙。

請在 miserxyz123@gmail 回复我
網站主持人對此評論進行了最小化
嗨,X先生,
運行代碼後,所有打開的工作簿(當前使用的工作簿除外)都保存為新文件,時間戳後跟原始文件名,然後自動關閉。 請試一試。 謝謝你。
請指定一個文件夾來保存此行中的文件: xPath = "C:\Users\Win10x64Test\Desktop\file with timestamp\"
Sub AddTimestampToFileName()
    'Updated by Extendoffice 20220826
    Dim xWb As Workbook
    Dim xStr As String
    Dim xPath As String
    Dim xStrDate As String
    Dim xFileName As String
    Application.DisplayAlerts = False
    
    
    xPath = "C:\Users\Win10x64Test\Desktop\file with timestamp\"
    xFileName = ActiveWorkbook.Name
    xStrDate = " " & Format(Now, "yyyy-mm-dd hh-mm-ss")
    For Each xWb In Workbooks
        If xWb.Name <> xFileName Then
            If Dir(xWb.FullName) <> "" Then
                xStr = Left(xWb.Name, InStrRev(xWb.Name, ".") - 1)
                xWb.SaveAs Filename:=xPath & Replace(xWb.Name, xStr, xStr & xStrDate)
            Else
                xWb.SaveAs Filename:=xPath & xWb.Name & xStrDate & ".xlsx"
            End If
        xWb.Close
        End If
    Next
    
    xStr = Left(xFileName, InStrRev(xFileName, ".") - 1)
    ActiveWorkbook.SaveAs Filename:=xPath & Replace(xFileName, xStr, xStr & xStrDate)
    Application.DisplayAlerts = True
    
End Sub
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護