Forum

Αναζήτηση στο ms-office.gr

Πάμε!
ms-office.gr > Forum > Microsoft Office > Visual Basic for Applications (VBA) > [Excel - VBA] Print external pdf file

Visual Basic for Applications (VBA) Ερωτήσεις / Απαντήσεις σε σχέση με τη χρήση της VBA.

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 02-07-17, 19:23
taksidioths
Guest
 
Μηνύματα: n/a
Προεπιλογή Print external pdf file

Καλησπέρα σας.
Αν σε ένα φύλλο εργασίας στην στήλη Ε για παράδειγμα, υπάρχουν τα ονόματα των .pdf αρχείων που θέλω να εκτυπώσω, πως μπορώ να το κάνω αυτό με κώδικα VBA γιατί τα αρχεία για εκτύπωση που αναφέρονται στην στήλη Ε είναι εκατοντάδες, , και ο φάκελος που τα περιέχει έχει χιλιάδες αρχεία?

Σας ευχαριστώ για την απάντηση.
Απάντηση με παράθεση
  #2  
Παλιά 25-07-17, 16:17
taksidioths
Guest
 
Μηνύματα: n/a
Προεπιλογή

Κανείς δεν θέλησε να βοηθήσει?
Απάντηση με παράθεση
  #3  
Παλιά 26-07-17, 20:23
taksidioths
Guest
 
Μηνύματα: n/a
Προεπιλογή

Δεν είναι ενεργό το Forum .
Κρίμα..
Πάντως παιδεύτηκα και βρήκα την απάντηση... Μαζί με τις τροποποιήσεις για τις ανάγκες της εργασίας που είχα ο συνολικός κώδικας είναι ο παρακάτω..
(Ότι δεν σας αρέσει το βγάζετε)


Κώδικας:
Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" _
                    Alias "ShellExecuteA" _
                    (ByVal hWnd As Long, _
                    ByVal lpOperation As String, _
                    ByVal lpFile As String, _
                    ByVal lpParameters As String, _
                    ByVal lpDirectory As String, _
                    ByVal nShowCmd As Long) _
                    As Long
                                       
                                    
Option Explicit
Sub PrintPDFasOfExcelColumnName()

    Dim Cell    As Range
    Dim Folder  As String
    Dim ret     As Long
    Dim RngBeg  As Range
    Dim RngEnd  As Range
    Dim Wks     As Worksheet
    Dim file As String
    Dim RowNumber As Long
    Dim RowNumberStr As String
    Dim LastVersionOfMap As String
    Dim PossibleNameofFile As String
    Dim LoopChance As Integer
    
    
    
    RowNumber = 2
    With Application.FileDialog(msoFileDialogFolderPicker)
        .AllowMultiSelect = False
        .Show
        If .SelectedItems.Count > 0 Then
            Folder = .SelectedItems(1)
        Else
            Exit Sub
        End If
    End With

    Set Wks = ActiveSheet
    Set RngBeg = Wks.Range("E3")
    Set RngEnd = Wks.Cells(Rows.Columns.Count, "E").End(xlUp)

    For Each Cell In Wks.Range(RngBeg, RngEnd)
    
        RowNumber = RowNumber + 1
        RowNumberStr = Trim(Str(RowNumber))
        
        If Range("F" & RowNumberStr) = "No" Or Range("F" & RowNumberStr) = "" Then
        
            DoEvents
            
            For LoopChance = 1 To 7
            
                Select Case LoopChance
                
                    Case 1
                    LastVersionOfMap = "4"
                    
                    Case 2
                    LastVersionOfMap = "3A"
                    
                    Case 3
                    LastVersionOfMap = "3"
                    
                    Case 4
                    LastVersionOfMap = "2A"
                    
                    Case 5
                    LastVersionOfMap = "2"
                    
                    Case LoopChance = 6
                    LastVersionOfMap = "1A"
                    
                    Case 7
                    LastVersionOfMap = "1"
                    
                End Select
                                          
                PossibleNameofFile = Cell & LastVersionOfMap & ".pdf"
            
                file = Dir(Folder & "\" & PossibleNameofFile)
            
                'file = Dir(Folder & "\" & Cell)
            
                If file <> "" Then
                    'ret = ShellExecute(0&, "print", Cell.Text, vbNullString, Folder, 1&)
                    ret = ShellExecute(0&, "print", PossibleNameofFile, vbNullString, Folder, 1&)
                    Range("F" & RowNumberStr) = "YES" ' & Cell
            Exit For
                Else
                    Range("F" & RowNumberStr) = "No" '& Cell
                End If
                
            Next
        End If
    Next Cell

End Sub
Απάντηση με παράθεση
  #4  
Παλιά 03-10-17, 20:23
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 1.875
Προεπιλογή

Δεν είναι σωστό, να λες τέτοια «πράγματα» γι' αυτό το forum.
Αν είναι ενεργό ή όχι, δεν θα το κρίνεις εσύ, επειδή δεν πήρες μια απάντηση...
Κανείς δεν είναι υποχρεωμένος να σου απαντήσει...
Κανείς δεν σε παρακάλεσε να εγγραφείς...

Ο κώδικας, δεν είναι ότι καλύτερο και δεν είναι δικός σου...
__________________
Spirosgr
spirostsiligiannis@gmail.com
Απάντηση με παράθεση
Απάντηση στο θέμα

Εργαλεία Θεμάτων
Τρόποι εμφάνισης

Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[VBA] disable print screen jockey17 Excel - Ερωτήσεις / Απαντήσεις 2 16-09-16 13:50
Διαγραφή Text File μέσω vba γιώργοςΚ Access - Ερωτήσεις / Απαντήσεις 10 19-03-16 16:58
[VBA] Print Preview anestaki Excel - Ερωτήσεις / Απαντήσεις 4 06-02-13 14:36
log file στην access giorgos_ad Access - Ερωτήσεις / Απαντήσεις 5 28-02-10 10:37
Εξαγωγή πίνακα σε ascii file stavros Access - Ερωτήσεις / Απαντήσεις 13 07-12-09 19:05


Η ώρα είναι 10:44.