Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [Γενικά] δημιουργία αρχείων word απο κελιά του excel

Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ.

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #11  
Παλιά 28-12-18, 10:31
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Καλημέρα
Πάμε να δούμε ολοκληρωμένα, το σενάριο.

Γενικά
Έστω το πρότυπο Word (WRdoc) και το αρχείο Excel (XLbook), όπως στα συνημμένα...
Επιλέγουμε ή δημιουργούμε κάποιους φακέλους,
για να τα αποθηκεύσουμε στον υπολογιστή μας.

Πριν απ' όλα
Ανοίγουμε το excel αρχείο και πάμε με Alt + F11, στο περιβάλλον vba.
Ανοίγουμε την λειτουργική μονάδα mdl_Settings
Συμπληρώνουμε με προσοχή, τις διαδρομές των αρχείων
και τους αριθμούς, στήλης γραμμής (default = γραμμή 2, στήλη 1)

Αν δεν χρησιμοποιήσουμε το αρχείο του παραδείγματος,
μετονομάζουμε, το κωδικό όνομα του φύλλου που θα έχουμε τα ονόματα,
ως Sh1, σε όποιο άλλο δικό μας αρχείο.

Τι κάνει
Με τα πλήκτρα, έχουμε τα εξής:
1. Δημιουργία αρχείων, με ονομασία από κάθε κελί της a στήλης,
και αποθήκευση στον φάκελο.
*Δεν πρέπει να έχουμε κενές γραμμές (μνμ λάθους)
*Δεν πρέπει να χρησιμοποιήσουμε μη επιτρεπτούς χαρακτήρες (μνμ λάθους)
*Αν και καλό είναι να μην έχουμε διπλότυπα, αν υπάρξουν
τότε το νεότερο αρχείο, θα αντιγραφεί επάνω στο παλαιότερο.

2. Άνοιγμα του φακέλου αρχείων.

Με διπλό κλικ στα ονόματα:
Ανοίγει το επιλεγμένο αρχείο.
Συνημμένα Αρχεία
Τύπος Αρχείου: dotx WRdoc.dotx (82,2 KB, 5 εμφανίσεις)
Τύπος Αρχείου: xlsm XLbook.xlsm (32,0 KB, 10 εμφανίσεις)
Απάντηση με παράθεση
  #12  
Παλιά 28-12-18, 11:00
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 26-01-2017
Μηνύματα: 56
Προεπιλογή

καλημέρα! προσπάθησα να προσαρμόσω τον κώδικα στο δικο μου αρχείο αλλά δεν τα κατάφερα, οπότε είπα να δουλέψω μέχρι να καταλάβω τι γίνεται με το συνημμένο. Ενώ δημιουργούνται κανονικά τα αρχεία πρόσεξα δυο πράγμα. Αρχικά παρόλο που δημιουργήθηκαν κανονικά τα αρχεία όταν πατάω σε ένα όνομα στο excel μου βγάζει οτι το αρχείο δεν υπάρχει. Επιπλέον αν γράψω κάτι σε κάποιο από τα word και μετά χρειαστεί να μπει καινούριο κελί στο excel, με το που δημιουργηθούν ξανά τα αρχεία (για να βάλω και το καινούριο όνομα) χάνεται ότι έγραψα στα προηγούμενα (πρόσεξα οτι αυτό συμβαίνει και με τον κώδικα που μου έδωσες χτες.). Πάντως θα το δουλέψω μέχρι να καταλάβω τι λάθος κάνω με την μεταφορά του κώδικα !!!

ΣΕ ευχαριστώ πολύ για την βοήθεια και τον χρόνο που διέθεσες!!!
Απάντηση με παράθεση
  #13  
Παλιά 28-12-18, 11:26
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Όσον αφορά «το αρχείο δεν υπάρχει»,
κάνεις σίγουρα λάθος στο path.

Για το θέμα που ενώ κάνεις αλλαγές σε κάποιο αρχείο, μετά την επανεκκίνηση του κώδικα
με νέο/α όνομα/ατα
φυσικό είναι να χάνονται, γιατί το ζητούμενο,
λέει για δημιουργία αρχείων από το πρότυπο.
Δεν αναφέρει κάπου ότι αυτά θα υποστούν επεξεργασία...

Θα πρέπει να αλλάξει ο κώδικας και να εξαιρεί τα υπάρχοντα,
ενώ θα δημιουργεί μόνο τα νέα...
Απάντηση με παράθεση
  #14  
Παλιά 28-12-18, 11:44
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 26-01-2017
Μηνύματα: 56
Προεπιλογή

κατάλαβα. Θα προσπαθήσω να βρω κάποιον τρόπο για να γίνεται η εξαίρεση. Πάντως (επειδή όπως κατάλαβες είμαι άσχετος με vba) αν κάποια στιγμή έχεις χρόνο θα με βοηθούσε πολύ να μου έλεγες τι αλλαγή πρέπει να κάνω στον κώδικα

Κώδικας:
Sub CopyWrdFile()
    Dim lrow As Long
    lrow = Φύλλο1.Cells(Rows.Count, 1).End(xlUp).Row
    
    Dim path1 As String
    path1 = "C:\Users\Administrator\Documents\Πρότυπα\Φόρμα.dotx"
    
    Dim wApp
    Set wApp = CreateObject("Word.Application")
    wApp.DisplayAlerts = False
    
    Dim wDoc
    Set wDoc = wApp.Documents.Add(Template:=path1, NewTemplate:=False, DocumentType:=0)
    
    Dim path2 As String, i As Long
    
    For i = 2 To lrow
        path2 = ThisWorkbook.Path & "\" & Range("a" & i).Value & ".docx"
        With wDoc
            wDoc.SaveAs Filename:=path2
        End With
    Next i
    
    wApp.DisplayAlerts = True
    wApp.Quit
    MsgBox "Done!"
End Sub
Ευχαριστώ και πάλι για όλα (αν και ξέρω ότι είναι πολύ λιγο το ευχαριστώ!)
Απάντηση με παράθεση
  #15  
Παλιά 28-12-18, 11:51
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Λοιπόν...
Πρώτα δες αν έχεις σωστά τα paths.

Μετά πάμε στην ρουτίνα CreateWRDFiles
Πάμε στο σημείο:
Κώδικας:
For i = iStartRow To lgLRow
και διέγραψε το όλο, μέχρι και το:
Κώδικας:
Next i
Στην θέση του βάλε:
Κώδικας:
    For i = iStartRow To lgLRow
        xlPath = ThisWorkbook.Path & "\" & Sh1.Cells(i, iCol).Value & ".docx"
        If Dir(xlPath) <> "" Then GoTo cnt_Here:
        With wDoc
        On Error GoTo AbandonShip:
            wDoc.SaveAs Filename:=xlPath
        End With
cnt_Here:
    Next i
Από τώρα και στο εξής θα παραβλέπει ό,τι έχει δημιουργηθεί
και θα δημιουργεί μόνο τα νέα ονόματα.
Εννοείται δεν θα πειράζει και όποιες αλλαγές έγιναν στα παλιά...
Απάντηση με παράθεση
  #16  
Παλιά 28-12-18, 16:14
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 26-01-2017
Μηνύματα: 56
Προεπιλογή

Σ ευχαριστώ πολύ!!Όλα δούλεψαν ρολόι!!
Απάντηση με παράθεση
  #17  
Παλιά 28-12-18, 16:45
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Καλή συνέχεια και καλή χρονιά!
Απάντηση με παράθεση
  #18  
Παλιά 28-12-18, 23:40
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 26-01-2017
Μηνύματα: 56
Προεπιλογή

Καλή χρονιά και σε εσένα με υγεία!
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Excel07] Μέγεθος αρχείων excel Meteora Excel - Ερωτήσεις / Απαντήσεις 3 15-04-17 19:42
Ένωση πολλών αρχείων Word σε ένα με χρήση Access dimmag Access - Ερωτήσεις / Απαντήσεις 2 21-02-14 18:58
[VBA] Δημιουργία Backup πολλών αρχείων mak Excel - Ερωτήσεις / Απαντήσεις 7 23-07-11 19:21


Η ώρα είναι 17:47.