Star_Light Δημοσ. 12 Αυγούστου 2012 Μέλος Δημοσ. 12 Αυγούστου 2012 Το έφτιαξα http://ideone.com/JoUFh αλλα ο δικος σου τροπος ειναι καλυτερος απλα θα βαλω το Dim διπλα απο εκει και τελος αντι να βαζω καινουργια γραμμή οπως το εχω τωρα. Τρεχει κανονικα αλλα μολις δινω το αρχειο μου βγαζει οτι Η μέθοδος ή η λειτουργία δεν έχει υλοποιηθεί. στην msoTrueDim() μεσα υπάρχει το προβλημα στο Throw New NotImplementedException ΚΑΛΟ ΜΠΑΝΙΟ
georgemarios Δημοσ. 12 Αυγούστου 2012 Δημοσ. 12 Αυγούστου 2012 Starlight, είσαι απρόσεχτος, είχα κάνει αλλαγες στον τελευταιο κωδικα που σου εβαλα 1) προσθεσα ενα Improrts στην αρχη 2) αφαίρεσα τις 4 μεθοδους στο τελος που εβαλες εσυ. ΒΓΑΛΕ τις, ΠΕΤΑΞΕ τις 3) ειναι myApp.Visible = msoTrue και οχι myApp.Visible = msoTrueDim() Ξαναπροσπαθησε προσεκτικα..... 1
Star_Light Δημοσ. 13 Αυγούστου 2012 Μέλος Δημοσ. 13 Αυγούστου 2012 (επεξεργασμένο) Ισως τα έκανες μετα edit και δεν τα προσεξα..... Λοιπον εκανα ολα οσα μου ειπες... ανοιγει το πλαισιακι του Powerpoint αλλα οχι το συγκεκριμενο αρχειο...... Μου βγαζει COMException was unhandled. Powerpoint could not open the file..... :/ Μηπως θα πρεπει να παιξω με κανα τετοιο -> Sub OpenPresentationReadOnly() Presentations.Open "c:\test.ppt", msoTrue End Sub ? Έβαλα και τους ελεγχους που μου συστησε πιο πανω το Ατομο.... Ως τωρα ο κώδικας έχει ως εξης κ για τους υπολοιπους που παρακολουθουν : http://ideone.com/bJsQb Απλα αμα δωσω εισοδο της μορφης : C:\Users\..... δεν τυπώνει λάθος... παρα μου βγάζει τον κωδικα... ενω αμα δωσω τελιτσες εκει που περιμενει path αρχειου δειχνει κανονικα μηνυμα λαθους οτι δεν βρεθηκε η διαδρομη...... Ο χρηστης μπορει ομως να πατησει καταλαθος και τελιτσες μεσα στο path και οχι μονο στην αρχη του.... Επεξ/σία 13 Αυγούστου 2012 από Star_Light
taazz Δημοσ. 13 Αυγούστου 2012 Δημοσ. 13 Αυγούστου 2012 Το πρόβλημα είναι το C:\User\..\Program Files είναι σωστό Path και μπορεί να το ανοίξει η εφαρμογή οπότε οι τελείες μέσα στο path δεν είναι λάθος.
georgemarios Δημοσ. 13 Αυγούστου 2012 Δημοσ. 13 Αυγούστου 2012 Δε ξέρω αν φταίει το path, στη θεση σου θα δοκιμαζα αρχικα σε ενα ευκολο, πχ C:\tmp\myppt.ppt Επισης, αντι για InputBox θα χρησιμοποιουσα ενα OpenFileDialog (google for it)
Star_Light Δημοσ. 13 Αυγούστου 2012 Μέλος Δημοσ. 13 Αυγούστου 2012 (επεξεργασμένο) Mας τρολαρει μου φαινεται..... εφοσον το αρχειο υπάρχει και ειναι στην επιφάνεια εργασιας δεν καταλαβαινω για ποιο λογο δεν το ανοιγει. Τωρα μου εμφανιζει οτι το αρχειο δεν βρεθηκε στην ταδε διαδρομη. Τemp φακελο βρισκω που θελει να χεις root access tmp δεν βρισκω. Ειχα φτιαξει και ενα path C:\Windows\PPfiles\filename αλλα και παλι τιποτα. EDIT Τα κατάφερα ... επειδη μου κοψε και έβαλα κατάληξη .pptx το ανοιγει κανονικα τωρα... αλλα μου πεταει και ενα σφαλματάκι εδω -> http://ideone.com/27kdY Οτι η τιμη που οριστηκε ειναι εκτος ορίων... ξερουμε γιατι αυτο???? Θα το ψαχνω και εγω παραλληλα... Υπαρχει κάποιο θέμα και μου συστήνεις να καταργήσω την InputBox ? Επεξ/σία 13 Αυγούστου 2012 από Star_Light
georgemarios Δημοσ. 13 Αυγούστου 2012 Δημοσ. 13 Αυγούστου 2012 Τemp φακελο βρισκω που θελει να χεις root access tmp δεν βρισκω. Ειχα φτιαξει και ενα path C:\Windows\PPfiles\filename ελα τωρα ρε μαν, προφανως εννουσα να ΦΤΙΑΞΕΙΣ ενα φακελο tmp με το αρχειο σου μεσα με το υποθετικο όνομα myppt.ppt Ηταν ενα ευκολο path χωρις κενα και τετοια να δουμε αν υπηρχε προβλημα στην εισοδο μεσω του InputBox Για τον ίδιο λογο, ειπα μπας και χρησιμοποιουσες το OpenFileDialog οπου μπορεις να επιλεξεις το αρχειο σου.... δεν ειναι απαραιτητο ομως Το ερρορ που σου βγαζει μαλλον σημαινει πως δεν υπαρχουν shapes μεσα στο 1ο slide. Απο τη στιγμη που δεν εχουμε καποιο sample απο τα αρχεια που χρησιμοποιεις, δε μπορω να απαντησω. Προφανως αυτο ειναι ενα δειγμα λειτουργικοτητας που μπορεις να εχεις με αρχεια powerpoint. Εσυ θα δεις τι εχεις μεσα και θα το χρησιμοποιησεις αναλογα.Αν θες, ανεβασε ενα αρχειο να κανουμε καμια δοκιμη
Star_Light Δημοσ. 13 Αυγούστου 2012 Μέλος Δημοσ. 13 Αυγούστου 2012 Κοιτα ο \tmp ειναι φάκελος συστήματος στο Linux . Υπεθεσα οτι μπορει να υπάρχει και στα Windows γιατι δεν έχω ψαξει πολυ το συστημα αρχειων των Win. Πιο πολυ Linux χρησιμοποιω.... Τωρα αυτο που μου λες το έχω φτιάξει εδω και καμποσες μέρες και κανω δοκιμες αν τυχον υπήρχαν θέματα με τα κενα μεσα στο path Τωρα το αρχείο PPT με το οποιο θα παιζει το προγραμμα... θα ειναι text. Δεν θα εχει καπου σχηματα. Θα έχει 3 στήλες φαντάσου στην μια θα ειναι ενα όνομα στην 2η οι σχετιζομενες πληροφοριες για αυτο το ονομα (τα αντιστοιχα θα βρισκονται και στην ΒΔ σαν πεδια του Access) και η 3η απλα δεν μας ενδιαφερει Σε βοηθαω καθολου ? Αυτα τωρα καθε φορα θελουμε να τα αντιγραφουμε απο το ενα... στο αλλο. Αυτο ειναι και το τελικο σταδιο !
moukoublen Δημοσ. 13 Αυγούστου 2012 Δημοσ. 13 Αυγούστου 2012 Βασικά μια ερώτηση καθαρά πληροφοριακή. Πως προέκυψε το αρχείο από το οποίο παίρνεις δεδομένα να είναι ppt (PowerPoint); Έχω κάποιο κώδικα .net (C#) για εγγραφή excel να σου παραθέσω αλλά το μόνο που μπορείς να πάρεις από αυτό είναι η γενικότερη λογική. [ Πρώτα φτιάχνεις ένα αντικείμενο Excel Application μετά του κάνεις add ένα workbook πάνω στο οποίο θα εργαστείς μετά "πιάνεις" το sheet που θες κ.α. ...] Απο κει και πέρα το excel είναι λίγο πιο εύκολο γιατί του "δείχνεις" ένα κελί να γράφεις σε αυτό. 1
georgemarios Δημοσ. 13 Αυγούστου 2012 Δημοσ. 13 Αυγούστου 2012 Όντως και μένα με ξενίζει η επιλογή του powerpoint αντί για excel. Anyway... Οχι, η περιγραφή σου δε με βοηθά γιατι πρέπει να μυρίσω νυχια. Στείλε sample (με ψεύτικα δεδομένα, φυσικά δε πρεπει να βγάλεις στον αέρα δεδομένα της δουλειάς)
Star_Light Δημοσ. 13 Αυγούστου 2012 Μέλος Δημοσ. 13 Αυγούστου 2012 Βασικά μια ερώτηση καθαρά πληροφοριακή. Πως προέκυψε το αρχείο από το οποίο παίρνεις δεδομένα να είναι ppt (PowerPoint); Έχω κάποιο κώδικα .net (C#) για εγγραφή excel να σου παραθέσω αλλά το μόνο που μπορείς να πάρεις από αυτό είναι η γενικότερη λογική. [ Πρώτα φτιάχνεις ένα αντικείμενο Excel Application μετά του κάνεις add ένα workbook πάνω στο οποίο θα εργαστείς μετά "πιάνεις" το sheet που θες κ.α. ...] Απο κει και πέρα το excel είναι λίγο πιο εύκολο γιατί του "δείχνεις" ένα κελί να γράφεις σε αυτό. Εννοεις να ειναι Excel το αρχειο προορισμού? ή το αρχειο προέλευσης γιατι ειναι Powerpoint..... ε ξερω γω???? ετσι το κανανε. Γενικα δεν ειναι σωστο το ολο συστημα μιας και θα μπορουσαμε να ειχαμε ξεμπερδεψει με linked objects αν το αρχειο ενημερωνοταν καθημερινα μεσω δικτυου. Και να μην χρειαζοτανε καθολου κωδικας... δεν εχω πιασει ποτε ξανα VB εγω. Υ.Γ Δεν πληρωνομαι δεν ειναι δουλεια ας πουμε.... ουτε εργασια γκομενας
Star_Light Δημοσ. 13 Αυγούστου 2012 Μέλος Δημοσ. 13 Αυγούστου 2012 Λοιπον το αρχείο PP (Μια περιπου ομοια εκδοση του) Απο τα πεδια ονοματα διπλα στις τελλιτσες θα βρισκονται οι πληροφοριες τις οποιες θα πρεπει να αντιγράφει το προγραμμα στην ΒΔ του Access ... σε ένα πεδιο της που το έχω ονομάσει "ΕΚΚΡΕΜΟΤΗΤΕΣ" ας πουμε. http://www.filedropper.com/trials
georgemarios Δημοσ. 14 Αυγούστου 2012 Δημοσ. 14 Αυγούστου 2012 ok, προσεξε τωρα Κάθε αρχειο ppt (ή pptx, το ιδιο ειναι) έχει slides, στο κωδικα που σου έστειλα ασχοληθηκα μονο με το πρώτο (και επαγωγικα θα ασχοληθεις εσυ με τα υπολοιπα) Καθε slide έχει shapes Καθε shape έχει διαφορα πραγματα. Στο κωδικα μου που βαζω και παρακατω, υπεθετα πως έχει ενα textframe (δηλαδη ενα κουτακι με κειμενο). To υπεθεσα γιατι αυτο ειναι το default αρχειο οταν δημιουργεις καινοργιο ppt. Αρα ελεγα, για καθε κουτακι με κειμενο, ενωσε τα ωστε να τα δειξεις ολα μαζι σε ενα Message Box > For i = 1 To MyFirstSlide.Shapes.Count sb = sb & MyFirstSlide.Shapes.Item(i).TextFrame.TextRange.Text & Environment.NewLine Next (i) Το δικο σου αρχειο δεν ηταν ετσι, γιαυτο εψαχνε να βρει κειμενο που δεν υπηρχε και εσκαγε, αντιθετα, στο 1ο slide, έχει 1 shape με 1 table. Αρα, αυτο που θες ειναι, για καθε γραμμη αυτου του table να παρεις τιμες απο τα 2 columns. Παραθέτω παραδειγμα > For Each row As Row In MyFirstSlide.Shapes.Item(1).Table.Rows Dim firstColVal = row.Cells(1).Shape.TextFrame.TextRange.Text.Trim() Dim secondColVal = row.Cells(2).Shape.TextFrame.TextRange.Text.Trim() sb = sb & firstColVal & "=" & secondColVal & Environment.NewLine Next Συμπερασμα, πρεπει να ξερεις τη μορφολογια του αρχειου με το οποιο θελεις να δουλεψεις, και πρεπει να εξασφαλισεις οσο γινεται πως οι τυποι δε θα αλλαξουν τη μορφη στη πορεια (ή αν την αλλαξουν, πρεπει να το ξερεις και να αλλαξεις τον κωδικα σου αναλογα). Για να ακριβολογω, για να δεις αποτελεσμα, αντικαθιστας το προ-παραπανω "For" (που σου σκαει) με το παραπανω "For Each". Επαγωγικα, περιμενω πως πλεον μπορεις να παρεις μια-μια τις τιμες απο τον πινακα και να τις κανεις οτι θες. Καλη συνέχεια
Star_Light Δημοσ. 14 Αυγούστου 2012 Μέλος Δημοσ. 14 Αυγούστου 2012 Μου πεταει οτι το Rows ειναι undefined. Πρεπει να ψαξω να βρω τι δινει το API της VB για να τα αντιγραψω με αυτη τη μεθοδο στο αλλο αρχειο.
georgemarios Δημοσ. 14 Αυγούστου 2012 Δημοσ. 14 Αυγούστου 2012 Ok ρε μαν, βαλε και ενα Imports ακομα στην αρχη > Imports Microsoft.Office.Interop.PowerPoint 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα