| Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#11
| ||||
| ||||
|
Καλησπέρα σε όλους! Ηλία μπορείς να αντιγράψεις τον παρακάτω κώδικα σε μια λειτουργική μονάδα (Module) και να κάνεις τις δοκιμές σου: Κώδικας: Option Explicit
Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" ( _
ByVal lpPath As String) As Long
Sub ExportWorksheetToPDF()
Dim i As Integer
Dim PDFFolder As String
Dim strFilename As String
Dim Ret As Long
Dim strInvoiceNumber As String
Dim StrDate As String
Dim wks As Worksheet
PDFFolder = ThisWorkbook.Path & "\PDF Files" ' "Κάνε προσαρμογή όπου χρειαστεί.
PDFFolder = Trim(PDFFolder)
If Right(PDFFolder, 1) <> "\" Then PDFFolder = PDFFolder & "\"
Ret = MakeSureDirectoryPathExists(PDFFolder)
If Ret = 0 Then
MsgBox "Ο φάκελος δεν μπορεί να δημιουργηθεί. Βεβαιωθήτε ότι έχετε επαρκή δικαιώματα " & _
"για τη δημιουργία φακέλου και ότι το μήκος της διαδρομής δεν " & _
"υπερβαίνει τους 255 χαρακτήρες.", vbExclamation, "Σφάλμα"
Exit Sub
End If
' Προσάρμοσε το όνομα του φύλλο αν δεν προκειται για το ενεργό φύλλο.
' Παράδειγμα: Set wks = ThisWorkbook.Worksheets("όνομα του φύλλου")
Set wks = ActiveSheet
If Len(Trim(wks.Range("V9"))) = 0 Then
MsgBox "Συμπληρώστε αριθμό τιμολογίου για να συνεχίσετε.", vbExclamation, "Προσοχή!"
Exit Sub
ElseIf Len(Trim(wks.Range("p9"))) = 0 Then
MsgBox "Συμπληρώστε την ημερομηνία του τιμολογίου για να συνεχίσετε.", vbExclamation, "Προσοχή!"
Exit Sub
ElseIf Not IsDate(wks.Range("p9").Value) Then
MsgBox "Συμπληρώστε μία έγκυρη ημερομηνία τιμολογίου για να συνεχίσετε.", vbExclamation, "Προσοχή!"
Exit Sub
End If
strInvoiceNumber = Trim(wks.Range("V9"))
If IsNumeric(strInvoiceNumber) Then strInvoiceNumber = Format(CLng(strInvoiceNumber), "00000000")
StrDate = Replace(Format(wks.Range("p9").Value, "dd-mm-yy"), "-", "_")
'...V9 και η ημερομηνία σε μορφή (22/12/2020) στη στήλη Ρ9
strFilename = PDFFolder & strInvoiceNumber & "_" & StrDate & ".pdf"
If Dir(strFilename, vbDirectory) <> "" Then
i = 1
While Dir(strFilename, vbDirectory) <> ""
i = i + 1
strFilename = PDFFolder & strInvoiceNumber & "_" & StrDate & "_V" & i & ".pdf"
Wend
End If
wks.ExportAsFixedFormat _
Type:=xlTypePDF, Filename:=strFilename, OpenAfterPublish:=True, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, _
Quality:=xlQualityStandard, From:=1, To:=1
End Sub
Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
|
#12
| |||
| |||
|
Ευχαριστώ πολύ για την άμεση απάντηση!!! Το προσάρμοσα έτσι τον κώδικα και μου βγάζει το αρχείο σε "νο τπυ"-22.12.2020. Πως μπορώ να προσθέσω τη λέξη ΤΠΥ μπροστά από το όνομα του αρχείου; |
|
#13
| ||||
| ||||
|
Κάνε αντικατάσταση του κώδικα: Κώδικας: strFilename = PDFFolder & "strInvoiceNumber & "_" & StrDate & ".pdf"
If Dir(strFilename, vbDirectory) <> "" Then
i = 1
While Dir(strFilename, vbDirectory) <> ""
i = i + 1
strFilename = PDFFolder & strInvoiceNumber & "_" & StrDate & "_V" & i & ".pdf"
Wend
End If
Κώδικας: strFilename = PDFFolder & "ΤΠΥ" & strInvoiceNumber & "_" & StrDate & ".pdf"
If Dir(strFilename, vbDirectory) <> "" Then
i = 1
While Dir(strFilename, vbDirectory) <> ""
i = i + 1
strFilename = PDFFolder & "ΤΠΥ" & strInvoiceNumber & "_" & StrDate & "_V" & i & ".pdf"
Wend
End If
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
|
#14
| |||
| |||
|
Το αντικατέστησα αλλά μου βγάζει μήνυμα 1004 και στο vba editor μου δείχνει ότι έχω λάθος στο τέλος.
|
|
#15
| ||||
| ||||
|
Φίλε μου Ηλία, προσπαθείς να αποθηκεύσεις αρχείο με όνομα που περιέχει "???" αντί για "ΤΠΥ" Στα Windows δεν μπορεί να υπάρξει όνομα που να περιέχει χαρακτήρες όπως: < (less than) > (greater than) : (colon) " (double quote) / (forward slash) \ (backslash) | (vertical bar or pipe) ? (question mark) * (asterisk) καθώς και οι χαρακτήρες ASCII (0 έως 31). Φρόντισε να έχεις γυρίσει το πληκτρολόγιο σου στα ελληνικά όταν κάνεις αντιγραφή / επικόλληση του κώδικα ώστε να εμφανίζονται οι κανονικοί χαρακτήρες καθώς και το "ΤΠΥ" για να τρέξει ο κώδικας.
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
|
#16
| |||
| |||
|
οκ. το διόρθωσα. ευχαριστώ πολύ!!!!! |
|
#17
| ||||
| ||||
|
Να είσαι καλά!
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| [Εκτύπωση] Εκτύπωση με αποθήκευση? | kolekas | Excel - Ερωτήσεις / Απαντήσεις | 25 | 08-10-15 15:20 |
| [VBA] Αποθηκευση ως & μεταφορα κελιων | kolekas | Excel - Ερωτήσεις / Απαντήσεις | 2 | 01-10-15 21:55 |
| [VBA] Αποθήκευση με ημερομηνία | sotisanis | Excel - Ερωτήσεις / Απαντήσεις | 7 | 16-10-13 07:24 |
| Υπολογισμός και αποθήκευση ΦΠΑ | vaios84 | Access - Ερωτήσεις / Απαντήσεις | 8 | 24-01-12 11:16 |
| Πρόβλημα κατά την αποθήκευση. | mike04 | Access - Ερωτήσεις / Απαντήσεις | 2 | 20-09-11 21:59 |
Η ώρα είναι 02:34.


Αλλαγή σε γραμμικό τρόπο

