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

Cum se salvează un nume de fișier Excel cu marcaj de timp?

Ați încercat vreodată să salvați un fișier Excel cu marcajul temporal actual? Acest articol vă va arăta metoda de realizare.

Salvați un nume de fișier Excel cu marcaj de timp cu cod VBA


săgeată albastru dreapta balon Salvați un nume de fișier Excel cu marcaj de timp cu cod VBA

Puteți rula codul VBA de mai jos pentru a salva un nume de fișier Excel cu marcaj de timp. Vă rugăm să faceți următoarele.

1. În registrul de lucru trebuie să îl denumiți după marcajul de timp actual, vă rugăm să apăsați pe Alt + F11 tastele simultan pentru a deschide Fereastra Microsoft Visual Basic pentru aplicații.

2. În Microsoft Visual Basic pentru aplicații fereastra, faceți clic pe Insera > Module. Apoi copiați codul VBA de mai jos în Cod fereastră. Vedeți captura de ecran:

Cod VBA: Salvați un nume de fișier Excel cu marcaj de timp (înlocuiți numele fișierului cu marcaj de timp)

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. apasă pe F5 tasta pentru a rula codul. Apoi o Salvare ca apare caseta de dialog, puteți vedea marcajul de timp afișat în caseta Nume fișier. Vă rugăm să specificați o locație pentru a salva acest fișier, apoi faceți clic pe Economisiți buton. Vedeți captura de ecran:

notițe:

1. Noul fișier Excel creat va fi salvat direct cu numele marcajului de timp curent.

2. Pentru acele fișiere Excel deja existente, numele fișierului original va fi înlocuit cu marca de timp.

Dacă doriți doar să adăugați marcaj temporal urmat de numele fișierului original în loc să îl înlocuiți, vă rugăm să aplicați codul VBA de mai jos.

Cod VBA: Salvați un nume de fișier Excel cu marcaj de timp (Inserați marcajul de timp, urmat de numele fișierului original)

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

săgeată albastru dreapta balonArticole pe aceeași temă:


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (12)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Există o versiune a acesteia care funcționează pentru documentele Word?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am asta mai jos, care funcționează perfect pentru a salva fișierul cu ștampila dată, DAR nu ar funcționa dacă schimbați-l pentru a adăuga ora-> nbre = Format (Acum, "aaaa-mm-zz hh:mm")


nbre = Format(Acum, „aaaa-mm-zz”)


Application.DisplayAlerts = Fals


ChDir „T:\Centrul de distribuție”
ActiveWorkbook.SaveAs Filename:="T:\Distribution Center\2. BACKLOG\DC BACKLOG " + nbre + ".xlsx", FileFormat _
:=xlOpenXMLWorkbook, WriteResPassword:="****", CreateBackup:=False



Puteti ajuta va rog ce lipseste???....
Acest comentariu a fost redus la minimum de moderatorul de pe site
Nu puteți utiliza caracterul „:” în numele fișierelor
Acest comentariu a fost redus la minimum de moderatorul de pe site
Nu puteți salva fișiere cu : în numele fișierului, dacă îl schimbați în nbre = Format (Acum, „aaaa-mm-zz hh-mm”)
Acest comentariu a fost redus la minimum de moderatorul de pe site
Dragă Nathan,
Codul VBA de mai jos vă poate ajuta să adăugați marcajul de timp în numele fișierului.

Sub test()
Dim xWb ca registru de lucru
Dim xStr As String
Dim xStrOldName ca șir
Dim xStrDate ca șir
Dim xFileName ca șir
Dim xFileDlg ca FileDialog
Dim i ca variantă
Application.DisplayAlerts = Fals
Setați xWb = ActiveWorkbook
xStrOldName = xWb.Name
xStr = Stânga(xStrOldName, Len(xStrOldName) - 5)
xStrDate = Format(Acum, „aaaa-mm-zz hh-mm-ss”)
Dacă Right(xStrOldName, 4) = "xlsm" Atunci
xFileName = Application.GetSaveAsFilename(xStr & " " & xStrDate, "Excel Macro-Enabled Workbook (*.xlsm),*.xlsm")
Altfel
xFileName = Application.GetSaveAsFilename(xStr & " " & xStrDate, "Excel Workbook (*.xlsx),*.xlsx")
Final, dacă
xWb.SaveAs (xFileName)
Application.DisplayAlerts = Adevărat
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Ar fi posibil să-l modifici pentru a elimina marca temporală anterioară și a-l salva ca în același director?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună ziua,
Îmi pare rău că nu te pot ajuta cu asta.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Acest lucru funcționează, cu excepția cazului în care utilizatorul apasă butonul de anulare, creează în continuare un fișier numit „fals”.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Hi Jason,
Mulțumesc că mi-ai reamintit. Codurile sunt actualizate.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Este posibil să încorporați codul și să îi spuneți unde să salveze fișierul, mai degrabă decât să selectați individual calea de salvare de fiecare dată?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Pentru cei interesati,
Încerc să implic codul dvs. „Cod VBA: Salvați un nume de fișier Excel cu marcaj de timp (Inserați marcaj de timp în numele fișierului original)” la https://www.extendoffice.com/documents/excel/4413-excel-timestamp-filename.html. DAR se oprește la noul nume de fișier cu caseta de dialog Salvare ca marca temporală. Dacă vreau să salvez automat automat după caseta de dialog afișată, închideți toate registrul de lucru și închideți aplicația. Ce cod VBA recomandați pentru a încheia acest job? Te rog ajuta-ma.

Vă rog să-mi răspundeți la misterxyz123@gmail
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună domnule X,
După rularea codului, toate registrele de lucru deschise (cu excepția registrului de lucru utilizat în prezent) sunt salvate ca fișiere noi cu marcaj temporal urmat de numele fișierului original și apoi închis automat. Vă rugăm să încercați. Mulțumesc.
Vă rugăm să specificați un folder pentru a salva fișierele în această linie: xPath = „C:\Users\Win10x64Test\Desktop\fișier cu 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
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL