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

วิธีบันทึกชื่อไฟล์ Excel ด้วยการประทับเวลา?

คุณเคยพยายามบันทึกไฟล์ Excel ด้วยการประทับเวลาปัจจุบันหรือไม่? บทความนี้จะแสดงวิธีการเพื่อให้บรรลุ

บันทึกชื่อไฟล์ Excel พร้อมประทับเวลาด้วยรหัส VBA


ลูกศรสีฟ้าฟองขวา บันทึกชื่อไฟล์ Excel พร้อมประทับเวลาด้วยรหัส VBA


คุณสามารถเรียกใช้โค้ด VBA ด้านล่างเพื่อบันทึกชื่อไฟล์ Excel ด้วยการประทับเวลา กรุณาดำเนินการดังนี้

1. ในสมุดงานคุณต้องตั้งชื่อตามการประทับเวลาปัจจุบันโปรดกดปุ่ม อื่น ๆ + F11 พร้อมกันเพื่อเปิดไฟล์ หน้าต่าง Microsoft Visual Basic for Applications

2 ใน Microsoft Visual Basic สำหรับแอปพลิเคชัน โปรดคลิก สิ่งที่ใส่เข้าไป > โมดูล. จากนั้นคัดลอกโค้ด 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 สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office / Excel 2007-2019 และ 365 รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ ทดลองใช้ฟรี 30 วันเต็ม รับประกันคืนเงิน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มผลผลิตของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (12)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
มีรุ่นที่ใช้งานได้กับเอกสาร Word หรือไม่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันมีสิ่งนี้ด้านล่าง ซึ่งใช้งานได้ดีในการบันทึกไฟล์ด้วยการประทับวันที่ แต่จะไม่ทำงานหากเปลี่ยนเป็นเพิ่ม time-> nbre = รูปแบบ (ตอนนี้ "yyyy-mm-dd hh:mm")


nbre = รูปแบบ (ตอนนี้ "ปปปป-ดด-วว")


Application.DisplayAlerts = เท็จ


ChDir "T:\ศูนย์กระจายสินค้า"
ActiveWorkbook.SaveAs ชื่อไฟล์:="T:\Distribution Center\2. BACKLOG\DC BACKLOG " + nbre + ".xlsx", FileFormat _
:=xlOpenXMLWorkbook, WriteResPassword:="****", CreateBackup:=False



ขาดอะไรไปช่วยหน่อยได้มั้ยคะ???....
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
คุณไม่สามารถใช้อักขระ ":" ในชื่อไฟล์
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
คุณไม่สามารถบันทึกไฟล์ด้วย : ในชื่อไฟล์ ถ้าคุณเปลี่ยนเป็น nbre = Format(ตอนนี้ "yyyy-mm-dd hh-mm")
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
นาธานที่รัก
โค้ด VBA ด้านล่างสามารถช่วยเพิ่มการประทับเวลาภายในชื่อไฟล์ได้

การทดสอบย่อย ()
Dim xWb เป็นสมุดงาน
Dim xStr เป็นสตริง
Dim xStrOldName เป็นสตริง
Dim xStrDate เป็นสตริง
Dim xFileName เป็นสตริง
Dim xFileDlg เป็น FileDialog
Dim ฉันเป็นตัวแปร
Application.DisplayAlerts = เท็จ
ตั้งค่า xWb = ActiveWorkbook
xStrOldName = xWb.Name
xStr = ซ้าย(xStrOldName, Len(xStrOldName) - 5)
xStrDate = รูปแบบ (ตอนนี้ "yyyy-mm-dd hh-mm-ss")
ถ้า Right(xStrOldName, 4) = "xlsm" แล้ว
xFileName = Application.GetSaveAsFilename(xStr & " " & xStrDate, "สมุดงาน Excel Macro-Enabled (*.xlsm),*.xlsm")
อื่น
xFileName = Application.GetSaveAsFilename(xStr & " " & xStrDate, "สมุดงาน Excel (*.xlsx),*.xlsx")
End If
xWb.SaveAs (xFileName)
Application.DisplayAlerts = จริง
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เป็นไปได้ไหมที่จะแก้ไขเพื่อลบการประทับเวลาก่อนหน้าและบันทึกไว้ในไดเรกทอรีเดียวกัน
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
วันดี,
ขออภัยไม่สามารถช่วยคุณในเรื่องนั้นได้
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ใช้งานได้ยกเว้นเมื่อผู้ใช้กดปุ่มยกเลิก ไฟล์จะยังคงสร้างไฟล์ชื่อ "เท็จ"
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีเจสัน
ขอบคุณที่เตือนฉัน มีการอัปเดตรหัส
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เป็นไปได้ไหมที่จะฝังโค้ดและบอกให้ทราบว่าจะบันทึกไฟล์ไว้ที่ใด แทนที่จะเลือกเส้นทางการบันทึกในแต่ละครั้ง
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เรียนท่านที่เกียวข้อง,
ฉันพยายามบอกเป็นนัยถึงรหัสของคุณ "รหัส VBA: บันทึกชื่อไฟล์ Excel ด้วยการประทับเวลา (แทรกการประทับเวลาภายในชื่อไฟล์ต้นฉบับ)" ที่ https://www.extendoffice.com/documents/excel/4413-excel-timestamp-filename.html. แต่มันหยุดที่ชื่อไฟล์ใหม่พร้อมกล่องโต้ตอบบันทึกเป็นบันทึกเวลา ถ้าฉันต้องการบันทึกอัตโนมัติแบบต่อเนื่องหลังจากกล่องโต้ตอบบันทึกตามที่แสดง ให้ปิดสมุดงานทั้งหมดและปิดแอปพลิเคชัน รหัส VBA ใดที่คุณแนะนำให้จบงานนี้ กรุณาช่วย.

กรุณาตอบฉันที่ misterxyz123@gmail
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี Mr.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   ตัวอักษร
สถานที่แนะนำ