ms-office.gr > Forum > Microsoft Word > Word - Ερωτήσεις / Απαντήσεις > Μεταφορά δεδομένων από Word σε Excel ή Access

Word - Ερωτήσεις / Απαντήσεις Γενικά θέματα γύρω από το ισχυρότατο Microsoft Word.

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 26-04-12, 22:54
Όνομα: Μαρία
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 01-04-2011
Μηνύματα: 35
Προεπιλογή Μεταφορά δεδομένων από Word σε Excel ή Access

Γεια σας,

Θέλω να μεταφέρω από ένα έγγραφο του Word τα δεδομένα σε Excel για να μπορέσω να δημιουργήσω μια βάση δεδομένων σε Access. Τα στοιχεία της λίστας είναι σε πίνακα και οι εγγραφές είναι πάρα πολλές.

Θα ήθελα να με βοηθήσετε αν υπάρχει τρόπος να μεταφέρω τα δεδομένα ώστε να μην μπω στην διαδικασία να τα πληκτρολογήσω ξανά. Σας επισυνάπτω και ένα δείγμα του πίνακα στο Word.
Συνημμένα Αρχεία
Τύπος Αρχείου: zip Δείγμα αρχείου.zip (10,5 KB, 48 εμφανίσεις)
Απάντηση με παράθεση
  #2  
Παλιά 29-04-12, 17:26
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.249
Προεπιλογή

Καλησπέρα!
Μαρία, το αρχείο που ανέβασες δεν περιέχει δεδομένα σε πίνακα αλλά σε πλαίσια.

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

Στο Έγγραφο να πατήσεις :
CTRL+A
κατόπιν
CTRL+Q
κατόπιν
CTRL+C

Σε ένα κενό φύλλο Excel να πατήσεις :
CTRL+V
Κατόπιν
CTRL+G

Στο διάλογο που θα εμφανιστεί πάτησε το κουμπί "Ειδικά σε..."
Στο διάλογο που θα εμφανιστεί επίλεξε "Αντικείμενα" και πάτησε ΟΚ
Θα παρατηρήσεις ότι όλα τα ορθογώνια σχήματα είναι επιλεγμένα.
Πάτησε το πλήκτρο DEL για να τα διαγράψεις.
Αυτό που έμεινε στο φύλλο είναι τα κείμενα με την αρχική τους μορφοποίηση που θα σε βοηθήσει να τα κατατάξεις σε στήλες.

Θα μπορούσε εν μέρει να αυτοματοποιηθεί η διαδικασία αυτή αλλά προϋποθέτει:

  • Γνώσεις VB από την πλευρά σου
  • Οι διαστάσεις των πλαισίων κάθε νοητής στήλης να είναι ίδιες.
  • Να μην υπάρχουν κενά σε καμία σειρά.


Αν υπάρχουν τα παραπάνω ευχαρίστως να το προχωρήσουμε.

Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #3  
Παλιά 30-04-12, 00:21
Όνομα: Μαρία
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 01-04-2011
Μηνύματα: 35
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από Tasos Εμφάνιση μηνυμάτων
Καλησπέρα!
Μαρία, το αρχείο που ανέβασες δεν περιέχει δεδομένα σε πίνακα αλλά σε πλαίσια.

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

Στο Έγγραφο να πατήσεις :
CTRL+A
κατόπιν
CTRL+Q
κατόπιν
CTRL+C

Σε ένα κενό φύλλο Excel να πατήσεις :
CTRL+V
Κατόπιν
CTRL+G

Στο διάλογο που θα εμφανιστεί πάτησε το κουμπί "Ειδικά σε..."
Στο διάλογο που θα εμφανιστεί επίλεξε "Αντικείμενα" και πάτησε ΟΚ
Θα παρατηρήσεις ότι όλα τα ορθογώνια σχήματα είναι επιλεγμένα.
Πάτησε το πλήκτρο DEL για να τα διαγράψεις.
Αυτό που έμεινε στο φύλλο είναι τα κείμενα με την αρχική τους μορφοποίηση που θα σε βοηθήσει να τα κατατάξεις σε στήλες.

Θα μπορούσε εν μέρει να αυτοματοποιηθεί η διαδικασία αυτή αλλά προϋποθέτει:

  • Γνώσεις VB από την πλευρά σου
  • Οι διαστάσεις των πλαισίων κάθε νοητής στήλης να είναι ίδιες.
  • Να μην υπάρχουν κενά σε καμία σειρά.


Αν υπάρχουν τα παραπάνω ευχαρίστως να το προχωρήσουμε.

Φιλικά

Τάσος
Καλησπέρα Τάσο,

Ευχαριστώ για την απάντησή σου.

Έχω κάποιες βασικές γνώσεις σε VB και θα ήθελα να σε παρακαλέσω να με βοηθήσεις γιατί είναι πάνω από 200 σελίδες του Word.

Να είσαι καλά για την βοήθεια.

Φιλικά,
Μαρία
Απάντηση με παράθεση
  #4  
Παλιά 30-04-12, 13:00
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.249
Προεπιλογή

Μαρία, με την προϋπόθεση ότι:
  1. Τα πλάτη των πλαισίων κάθε νοητής στήλης στο έγγραφο/α είναι ίδια.
  2. Δεν υπάρχουν κενά στην καθεμία σειρά.

μπορείς να χρησιμοποιήσεις τον παρακάτω κώδικα που βασίζεται στα πλάτη των πλαισίων προς αντιγραφή σε φύλλο Excel.

Ο κώδικας αυτός δεν λαμβάνει υπόψη του τις επικεφαλίδες όπως για παράδειγμα: "Περιφέρεια Δυτικής Ελλάδας", "Νομός Ζακύνθου" και "Τάξη 1 *".

Κώδικας:
Option Explicit
Option Base 1

Sub SendFrameContentsToExcel()
    Dim Titles As Variant, Framewiths As Variant
    Dim strText As String
    Dim TMRange As Range
    Dim xSize As Single
    Dim i As Long, x As Long, c As Integer
    Dim allFrames As Word.Frames
    Dim fr As Word.Frame
    Dim XL As Object
    Dim wb As Object
    Dim wks As Object
    Set XL = CreateObject("Excel.Application")
    Set wb = XL.Workbooks.Add
    Set wks = wb.ActiveSheet
    XL.WindowState = -4140
    XL.Visible = True
    Set allFrames = ActiveDocument.Frames

    Titles = Array("A/A", "Τίτλος", "Τύπος", "Διεύθυνση", "Tηλέφωνο", "Ιδιοκτήτης", "Επιχείρηση", _
                   "Έτος Πρώτης Λειτουργίας", "Δωμάτια", "Κλίνες")

    Framewiths = Array(24.8, 101, 56.85, 132.7, 132.7, 122.15, 134.65, 54.9, 38.95, 30.25)

    With wks

        .Range("I1").Value = "Συν. Δυναμικότητα"
        .Range("I1:J1").HorizontalAlignment = 7
        With .Range("A2:J2")
            .Value = Titles
            .Interior.Color = vbYellow
            .Borders.Color = vbBlack
            .ColumnWidth = 9
            .HorizontalAlignment = -4108
        End With

        For c = 1 To UBound(Titles)
            x = 3
            xSize = Framewiths(c)
            If c = 5 Then
                For i = 1 To allFrames.Count
                    If allFrames(i).Width = xSize Then
                        strText = allFrames(i).Range.Text
                        If Left(strText, 4) = "(τηλ" Then
                            strText = Trim(Replace(strText, "(τηλ.", ""))
                            If Right(strText, 1) = ")" Then strText = Left(strText, Len(strText) - 1)
                            .Cells(x, c).Value = strText
                            x = x + 1
                        End If
                    End If
                Next
            ElseIf c = 4 Then
                For i = 1 To allFrames.Count
                    If allFrames(i).Width = xSize Then
                        strText = allFrames(i).Range.Text
                        If Left(strText, 4) <> "(τηλ" Then
                            .Cells(x, c).Value = strText
                            x = x + 1
                        End If
                    End If
                Next
            Else
                For i = 1 To allFrames.Count
                    If allFrames(i).Width = xSize Then
                        strText = allFrames(i).Range.Text
                        .Cells(x, c).Value = strText
                        x = x + 1
                    End If
                Next
            End If
        Next
        .Columns.AutoFit
        .Range("I1:J1").ColumnWidth = 9
        XL.WindowState = -4137
        AppActivate XL.Caption
        Set wks = Nothing
        Set wb = Nothing
        Set XL = Nothing
    End With
End Sub
Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 01-05-12 στις 00:00.
Απάντηση με παράθεση
  #5  
Παλιά 04-05-12, 22:31
Όνομα: Μαρία
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 01-04-2011
Μηνύματα: 35
Προεπιλογή Error στην μακροεντολή

Καλησπέρα,

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

Ευχαριστώ εκ των προτέρων.

Μαρία
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm test.xlsm (19,2 KB, 23 εμφανίσεις)
Απάντηση με παράθεση
  #6  
Παλιά 07-05-12, 22:29
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.249
Προεπιλογή

Καλησπέρα σε όλους!
Αγαπητή Μαρία, ο κώδικας θα πρέπει να τοποθετηθεί στο Word για να λειτουργήσει.

Κατέβασε το συνημμένο, άνοιξε το και πάτησε το πλήκτρο F11.

Στο διάλογο που θα εμφανιστεί επίλεξε το αρχείο Δείγμα αρχείου.rtf (το συνημμένο του μηνύματος σου).

Τα δεδομένα του θα μεταφερθούν σε νέο βιβλίο Excel.

Σημείωση:

Θα πρέπει να ενεργοποιήσεις τις μακροεντολές του Word
προκειμένου να εκτελεστεί ο κώδικας.

Φιλικά

Τάσος
Συνημμένα Αρχεία
Τύπος Αρχείου: doc Μαρία.doc (44,0 KB, 40 εμφανίσεις)
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 08-05-12 στις 06:32.
Απάντηση με παράθεση
  #7  
Παλιά 09-05-12, 14:00
Όνομα: Μαρία
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 01-04-2011
Μηνύματα: 35
Προεπιλογή Διευκρινήσεις για το φύλλο του Excel

Γεια σου Τάσο,

Ευχαριστώ πολύ για την βοήθειά σου.

Στον κώδικα που μου έστειλες θέλω να συμπεριλάβω και τα εξής:
1. Κάθε σελίδα στην αρχή έχει μια κατηγορία που ονομάζεται ΤΑΞΗ Α ή Β κλπ. Αυτή η κατηγορία θα ήθελα να συμπεριλαμβάνεται στο φύλλο του Excel για να ξέρω που ανήκει η κάθε εγγραφή.
2. Στην στήλη με τα τηλέφωνα υπάρχουν αρκετά λάθη. Ήθελα να μου πεις αν μπορώ να διορθώσω τα τηλέφωνα που ξεκινούν με λάθος πρόθεμα, π.χ. το λανθασμένο είναι 0695 και θέλω να αντικατασταθεί με 26950. Επίσης, σε πολλά από αυτά δεν αναγράφεται καθόλου το πρόθεμα 26950. Δεν ξέρω κατά πόσο μπορεί να προστεθεί αυτό, ή αν πρέπει να το γράφω μόνη μου.

Στο συννημένο αρχείο έχω βάλει 3 σχόλια με το πως θα ήθελα να είναι το τελικό αρχείο.

Φιλικά,
Μαρία
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsx Δείγμα.xlsx (12,8 KB, 15 εμφανίσεις)
Απάντηση με παράθεση
  #8  
Παλιά 10-05-12, 06:40
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.249
Προεπιλογή

Καλημέρα Μαρία!

Επίτρεψε μου ένα σχόλιο.
Προφανώς, τo έγγραφο/α αυτά είναι αποτέλεσμα κάποιας εξαγωγής από βάση δεδομένων (Oracle??) ή κάποιο πρόγραμμα OCR .
Παράλληλα είναι η πιο ακατάλληλη μορφή αφού πρακτικά δεν επιτρέπει περαιτέρω επεξεργασία των δεδομένων σε κανένα πρόγραμμα (τουλάχιστον από αυτά του Office).
Θα πρέπει εκείνος που κάνει τη εξαγωγή αυτών των δεδομένων να γνωρίζει ότι ελάχιστες εφαρμογές (και με αρκετά έμπειρους χρήστες) μπορούν να επεξεργαστούν τις "ζωγραφιές" αυτές

Θα ήταν όλα πιο απλά αν τα δεδομένα βρίσκονταν σε αρχεία με μία από τις εξής μορφές:
  • Οριοθετημένο κείμενο (.txt)
  • Αρχεία τιμών διαχωρισμένων με κόμματα (CSV)
  • XML (.xml)
  • Microsoft Office Excel (.xls ή .xlsx)

Τώρα στην ερώτηση σου, πάντα με την προϋπόθεση ότι:
  • Οι διαστάσεις των πλαισίων κάθε νοητής στήλης να είναι ίδιες.
  • Να μην υπάρχουν κενά σε καμία σειρά.
μπορείς να χρησιμοποιήσεις το συνημμένο παράδειγμα.

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

Υπάρχουν αρκετοί φίλοι εκεί που θα σε βοηθήσουν άμεσα.

Φιλικά

Τάσος
Συνημμένα Αρχεία
Τύπος Αρχείου: doc Μαρία.doc (51,5 KB, 26 εμφανίσεις)
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 10-05-12 στις 19:30.
Απάντηση με παράθεση
  #9  
Παλιά 10-05-12, 15:53
Όνομα: Μαρία
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 01-04-2011
Μηνύματα: 35
Προεπιλογή Σφάλμα στον κώδικα

Γεια σου Τάσο,

Ευχαριστώ για την απάντηση, είναι πολύτιμη η βοήθεια που μου παρέχεις και με έχεις εξυπηρετήσει αφάνταστα

Συμφωνώ ότι είναι η πιο ακατάλληλη μορφή εγγράφου όμως τα έχω πάρει από δημόσιο φορέα και όπως καταλαβαίνεις δεν έχω και πολλές επιλογές για να τους ζητήσω μια άλλη μορφή αρχείου.

Έτρεξα τον κώδικα που μου έστειλες αλλά αντιμετωπίζω το εξής πρόβλημα:
Όταν δημιουργεί το έγγραφο του excel ξεκινάει πάντα να ενημερώνει τις εγγραφές από το κελί Α3 και όταν αλλάζει σελίδα στο word κάνει αντικατάσταση στις εγγραφές που έχει ήδη μεταφέρει. Δηλαδή, δεν συνεχίζει από εκεί που σταμάτησε ( π.χ. αν έχει σταματήσει στο Α12 τις επόμενες εγγραφές δεν τις βάζει στο Α13 αλλά ξεκινάει από την αρχή.)

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

Επισυνάπτω και ένα δείγμα του αρχείου με περισσότερες σελίδες.

Το πρόβλημα που αντιμετωπίζω με τα τηλέφωνα μπορεί να επιλυθεί μέσω της Access; Γιατί ο τελικός προορισμός θα είναι η Access. ( ο λόγος που τα μεταφέρω όλα αυτά σε έγγραφο του excel είναι για να μπορέσω μετά να τα μεταφέρω σε Access, όπως ήδη είχα αναφέρει στην αρχή της θεματικής ενότητας) Στην access έχω άλλους 4 πίνακες που θέλουν την ίδια διόρθωση. Αν πιστεύεις ότι το πρόβλημα μπορεί να λυθεί μέσω της Access να μην βγάλω περιττές αναρτήσεις.

Φιλικά,
Μαρία
Συνημμένα Αρχεία
Τύπος Αρχείου: zip Δείγματα αρχείων.zip (37,1 KB, 30 εμφανίσεις)
Απάντηση με παράθεση
  #10  
Παλιά 10-05-12, 18:55
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.249
Προεπιλογή

Καλησπέρα Μαρία!

Δική μου παράλειψη.

Διόρθωσα και το συνημμένο στο προηγούμενο μου μήνυμα.

Μπορείς να το κατεβάσεις ξανά.

Δεν έχει σημασία με ποιο πρόγραμμα θα επεξεργαστείς τη στήλη των τηλεφώνων της λίστας που θα δημιουργήσεις (Access ή Excel). Και με τα 2 προγράμματα μπορεί να επιτευχθεί το επιθυμητό αφού οι μέθοδοι τους δεν διαφέρουν σχεδόν καθόλου.

Καλή συνέχεια!

ΥΓ: Σαν τεχνικός, το φαντάστηκα ότι το έγγραφο είχε να κάνει με το δημόσιο...

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 10-05-12 στις 19:31.
Απάντηση με παράθεση
Απάντηση στο θέμα

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

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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[VBA] Μεταφορά κειμένου από word σε excel με vba dim.konst Excel - Ερωτήσεις / Απαντήσεις 6 02-09-13 18:18
[VBA] Μεταφορά δεδομένων από Excel σε Access Tasos Excel samples - Χρήσιμα αρχεία & παραδείγματα 0 11-04-12 07:38
Μεταφορά στοιχείων από excel σε word skantzo Word - Ερωτήσεις / Απαντήσεις 21 15-10-10 23:38
[Μορφοποίηση] Μεταφορά στοιχείων από excel σε word skantzo Excel - Ερωτήσεις / Απαντήσεις 2 15-10-10 00:36
Αντιγραφή / μεταφορά δεδομένων Access 2007 σε Excel 2007 Galileo Ms-Office 8 27-01-10 23:23


Η ώρα είναι 19:50.