Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Αποθήκευση με ημερομηνία
Παιδια καλησπερα και παλι Εχω αυτον τον κωδικα. Θελω ομως να κανω το εξης.Να αποθηκευεται πρωτα η ημερομηνια και μετα το ονομα του βιβλιου και καθε φορα που γινεται αποθηκευση να σβηνεται η παλια ημερομηνια Κώδικας: Sub SaveFileWithDate() Dim strWBOnly As String 'workbook path and name without ".xls" Dim strSaveWithDate As String Dim strWBFullName As String strWBFullName = ActiveWorkbook.FullName strWBOnly = Left(strWBFullName, Len(strWBFullName) - 4) strSaveWithDate = strWBOnly & "." & Format(Now(), "dd-mm-yyyy") & ".xls" ActiveWorkbook.SaveAs Filename:=strSaveWithDate, FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ , CreateBackup:=False End Sub |
#2
| ||||
| ||||
Σωτήρη καλησπέρα! Ο παρακάτω παραδειγματικός κώδικας νομίζω ότι σε εξυπηρετεί: Κώδικας: Sub test() Dim xlFolder As String, wbName As String, ExtName As String, NewName As String xlFolder = ThisWorkbook.Path & "\" 'Προσάρμοσε τη διαδρομή του φακέλου With CreateObject("Scripting.FileSystemObject") wbName = .GetBaseName(ThisWorkbook.FullName) ExtName = "." & .GetExtensionName(ThisWorkbook.FullName) End With NewName = xlFolder & _ Replace(Format(Now(), "dd_mm_yyyy_hh:mm:ss"), ":", "_") & "_" & wbName & ExtName ThisWorkbook.SaveAs NewName, ThisWorkbook.FileFormat ' ή xlnormal End Sub Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#3
| |||
| |||
Τασο καλησπερα Καθε φορα που παταω αποθηκευση (φτιαγμενο κουμπι με vba) τοτε συνεχεια μου βαζει μπροστα το νουμερο της ημερομηνιας. ενω οταν κανω αποθηκευση ως pdf με τον παρακατω κωδικα τοτε το αποθηκευει μια χαρα εγω θελω καθε φορα να αποθηκευει εκ νεου ενα αρχειο με νεα αποθηκευση. οχι να σβηνει το παλιο πχ αν 7 μερες το ανοιξεις 7 φορες τοτε να εχει 7 διαφ αποθηκευσεις Κώδικας: Public Sub SaveWorksheetsAsPDF() On Error Resume Next Dim i As Integer Dim sName As String Dim sOutputPath As String Dim strWBOnly As String 'workbook path and name without ".xls" Dim strSaveWithDate As String Dim strWBFullName As String For i = 1 To ActiveWorkbook.ActiveSheet.Count strWBFullName = ActiveWorkbook.FullName strWBOnly = Left(strWBFullName, Len(strWBFullName) - 4) sName = strWBOnly & "." & Format(Now(), "dd-mm-yyyy") Debug.Print ActiveSheet(sName).Index & " " & sOutputPath & sName ActiveWorkbook.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ sOutputPath & sName, Quality:=xlQualityMinimum _ , IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False Next End Sub |
#4
| ||||
| ||||
Σωτήρη, κατάλαβα ότι θέλεις κάθε φορά που πατάς το κουμπί να γίνεται αντικατάσταση του αρχείου με το ίδιο όνομα (αν υπάρχει) στο σκληρό δίσκο. Δεν κατάλαβα όμως: Θέλεις να αποθηκεύσεις όλα τα φύλλα εργασίας του βιβλίου σε *.pdf ή θέλεις να αποθηκεύεις το βιβλίο σε μορφή Excel; Για να αποθηκεύεις το βιβλίο σε μορφή Excel χρησιμοποίησε το παρακάτω: Κώδικας: Sub testXL() Dim xlFolder As String, wbName As String, ExtName As String, NewName As String xlFolder = ThisWorkbook.Path & "\" With CreateObject("Scripting.FileSystemObject") wbName = .GetBaseName(ThisWorkbook.FullName) ExtName = "." & .GetExtensionName(ThisWorkbook.FullName) NewName = xlFolder & Format(Date, "dd_mm_yyyy") & "_" & wbName & ExtName On Error Resume Next If .FileExists(NewName) Then .DeleteFile NewName End If End With If Err <> 0 Then MsgBox "Σφάλμα: " & Err & vbLf & Err.Description Exit Sub Else ThisWorkbook.SaveAs NewName, ThisWorkbook.FileFormat ' ? xlnormal End If End Sub Εκτός αυτού, ο κώδικας που παρουσιάζεις στο τελευταίο μήνυμα σου περιέχει κάποια σφάλματα. Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#5
| |||
| |||
με το pdf δεν εχω κανενα θεμα.μια χαρα το αποθηκευει.μονο το lookup θα αποθηκευω σε pdf,ενω σε excel θελω να αποθηκευω ολο το βιβλιο. για το pdf εμενα δεν μου βγαζει θεμα |
#6
| |||
| |||
με τον κωδικα που μου εδωσες καθε φορα που παταω το κουμπι μου προσθετει ξανα την ημερομηνια
|
#7
| ||||
| ||||
Σωτήρη, ο κώδικας που σου πρότεινα ήταν βασισμένος στον κώδικα που ανέβασες και είναι λογικό να σου βγάζει 2 φορές την ημερομηνία στο όνομα του αρχείου έτσι που είναι στημένος. Έστω ότι τρέχεις τον κώδικα μια φορά. Το όνομα του βιβλίου που παραμένει ανοιχτό θα είναι 16_10_2013_όνομαΒιβλίου.xls Αν λοιπόν ξανατρέξεις τον κώδικα στο βιβλίο 16_10_2013_όνομαΒιβλίου.xls που είναι ανοιχτό, φυσικά θα σου προσθέσει και δεύτερη ημερομηνία στο ήδη υπάρχον όνομα δηλαδή το όνομα θα μετατραπεί σε: 16_10_2013_16_10_2013_όνομαΒιβλίου.xls . Αν θέλεις το ίδιο βιβλίο να αποθηκεύεται περισσότερες φορές χωρίς να αλλάζει το όνομα του τότε: Αντικατέστησε τη γραμμή: ThisWorkbook.SaveAs NewName, ThisWorkbook.FileFormat ' ? xlnormal με τη γραμμή: ThisWorkbook.SaveCopyAs NewName Για σένα αλλά και για τους υπόλοιπους φίλους που μας διαβάζουν, ο κώδικας που κάνει εξαγωγή σε *.pdf όλα τα φύλλα εργασίας ενός βιβλίου είναι: Κώδικας: Sub testPDFAllSheets() Dim xlFolder As String, wbName As String Dim i As Integer, NewName As String Dim fso As Object, wks As Worksheet xlFolder = ThisWorkbook.Path & "\" Set fso = CreateObject("Scripting.FileSystemObject") wbName = fso.GetBaseName(ThisWorkbook.FullName) On Error Resume Next For i = 1 To ThisWorkbook.Worksheets.Count Set wks = ThisWorkbook.Worksheets(i) ' Διάλεξε ποια περίπτωση σε εξυπηρετεί καλύτερα ' NewName = xlFolder & wbName & "_" & wks.Name & ".pdf" ' NewName = xlFolder & wbName & "_" & wks.Index & ".pdf" NewName = xlFolder & Format(Date, "dd_mm_yyyy") & "_" & wbName & "_" & wks.Index & ".pdf" If fso.FileExists(NewName) Then fso.DeleteFile NewName End If If Err <> 0 Then MsgBox "Σφάλμα: " & Err & vbLf & Err.Description Exit Sub Else wks.ExportAsFixedFormat _ Type:=xlTypePDF, _ Filename:=NewName, _ Quality:=xlQualityMinimum, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=False, _ OpenAfterPublish:=False End If Next End Sub Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#8
| |||
| |||
δουλευει αψογα!!!!!!!!!! αν και αυτο που θα πω ειναι εκτος topic. Ενα συμαντικο κομματι ακομα που μου εμεινε ειναι να κανω αναννεωση των δεδομενων στο φυλλο 1 (ετσι οπως το εχεις εσυ στο παραδειγμα σου) αν εχεις κατι σαν link για βοηθεια ευπροσδεκτο. Ξεκιναω να το μελεταω και να το ψαχνω!!! Και παλι ΕΥΧΑΡΙΣΤΩ ΠΑΡΑ ΠΟΛΥ!!!! |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[VBA] αποθήκευση ως pdf | rmaria | Excel - Ερωτήσεις / Απαντήσεις | 16 | 22-12-20 20:06 |
[Εκτύπωση] Εκτύπωση με αποθήκευση? | kolekas | Excel - Ερωτήσεις / Απαντήσεις | 25 | 08-10-15 16:20 |
[VBA] Αποθηκευση ως & μεταφορα κελιων | kolekas | Excel - Ερωτήσεις / Απαντήσεις | 2 | 01-10-15 22:55 |
[VBA] μεταφορά και αποθήκευση δεδομένον | rmaria | Excel - Ερωτήσεις / Απαντήσεις | 2 | 15-07-15 23:29 |
Υπολογισμός και αποθήκευση ΦΠΑ | vaios84 | Access - Ερωτήσεις / Απαντήσεις | 8 | 24-01-12 12:16 |
Η ώρα είναι 21:47.