Προς το περιεχόμενο

Aporia se Excel


NeCrOmAnCeR19

Προτεινόμενες αναρτήσεις

Δημοσ.

Exw ena excel opou se mia sthlh einai kapies eikones proionton kai sthn dipla sthlh einai oi kwdikoi ton proionton.

 

Uparxei kapios tropos wste na mporw na kanw save thn eikona me onoma ton kwdiko ths me kapia aftomath diadikasia ?? (milame gia panw apo 3000 kwdikous)

 

to megalo provlima einai pws mia eikona antistixei se 6-7 diaforetikous kwdikous , opote kai logika tha uparxoun oi idies fotos me diaforetiko file name.

 

 

parathetw kai mia eikona san paradigma.

 

untitled6ng.th.jpg

Δημοσ.

Αν δοκίμαζες να κάνεις record μια μάκρο που θα κάνεις τη διαδικασία αυτή μήπως δούλευε. Αλλιώς λογικά θα πρέπει να γράψεις script.

Δημοσ.

macro ? sothikes ...

 

scriptaki ??? twra sothikes akoma perissotero ...

 

mhpws kati pio efkolo???????

 

 

kserw zhtaw ta adinata ... alla mhpws uparxei kati krimeno pouthena ...

 

 

thanks :D

Δημοσ.

Τόσο advanced και κομμένη και ραμένη διαδίκασια σε αυτό που θέλεις δε νομίζω να υπάρχει (αν υπάρχει μετά το excel κάνει μαγικά!). Μάλλον θα πρέπει να το φτιάξεις μόνος σου και θα θέλει και αρκετή δουλίτσα...

Δημοσ.

xeirokinita ... mallon kati tetio tha ginei ... :( paei tha afhsw ta kokkala mou panw sthn othoni (crt 14ara 5etias to ligotero)....

 

kanas allos re paidia ? me kana export sthn access ?? i estw kanan kodika se VB ? ....

 

milame gia 9 worksheets epi 450 seires to kathena = 4050 file names .... :S:S:S:S

 

 

efxaristw gia tis prohgoumenes apanthseis :)

Δημοσ.

α) Gif αρχεία για τις εικόνες σε βολεύουν?

β) κάθε εικόνα αντιστοιχεί πάντα σε 5 κωδικούς?

και γ) στο παραδειγμά σου η πρώτη εικόνα έχει 4 από τους 5 κωδικούς ίδιους, άρα εκεί δεν μπορεί να φτιάξει 4 αρχεία με το ίδιο όνομα, εσύ τι θέλεις σε αυτή την περίπτωση?

Δημοσ.

Μην σε τρομάξει το μεγάλο κείμενο, αν το κάνεις βήμα βήμα θα δουλέψει

 

Θα χρειαστείς Excel, με εγκατεστημένη την vba και Word

 

Λοιπόν για να βγάζεις τις εικόνες από κάθε sheet ξεχωριστά πολύ προσεκτικά κάνε τα εξής:

 

Βήμα 1: Φτιάξε δύο φακέλους c:\test και c:\test2

 

Βήμα 2: Πήγαινε στο c:\ test και κόπιαρε ένα αντίγραφο από το excelάκι που θες να βγάλεις τις εικόνες

Πχ. Πρέπει να έχεις c:\test\mybook.xls

 

Βήμα 3: Άνοιξε το mybook.xls και μενού File --> Save as Web Page

Επέλεξε Selection:Sheet

Filename: Page1.htm

Κουμπί Save

Κλείσε το excel

 

Έχει φτιάξει ένα αρχείο Page1.htm και ένα φάκελο Page1_files. Αυτός ο φάκελος μέσα έχει ένα αρχείο filelist.xml και όσες εικόνες έχει το sheet σου με κατάληξη emz

 

Βήμα 4: Γύρνα στο φάκελο c:\test και κάνε δεξί κλικ στο αρχείο Page1.htm, επέλεξε «άνοιγμα με...» και άνοιξε το με το Word

μενού File --> Save as Web Page

Save as type: Web Page, Filtered

Κουμπί Save

Κουμπί Yes

Κουμπί Yes

 

Τώρα ο φάκελος Page1_files έχει μόνο όσα gif αρχεία είχε μέσα το mybook.xls και αριθμημένα με την σειρά

Βήμα 5: Κόπιαρε όλες αυτές τις εικόνες στον φάκελο c:\test και σβήσε το Page1.htm και το φάκελο Page1_files

 

Βήμα 6: Άνοιξε το c:\test\mybook.xls

Αν στη στήλη Α έχεις τις εικόνες, στην στήλη Β τους κωδικούς και τίποτα άλλο συνέχισε παρακάτω

Πήγαινε στο Α1 και γράψε τον δεύτερο φάκελο δηλαδή «c:\test2\», μαζί με το \ στο τέλος

 

Βήμα 7: Επέλεξε την στήλη C και μενού Format --> Cells , tab General, Category: Text

Επέλεξε το C1 και γράψε «1»

Επέλεξε το C1 και Copy

 

Επέλεξε το κελί C2 μέχρι εκεί που τελειώνουν οι σειρές για την πρώτη εικόνα, όπως βλέπω στο screenshot μέχρι το C14

Paste

 

Επέλεξε το C16 και γράψε «2»

Επέλεξε το κελί C17 μέχρι εκεί που τελειώνουν οι σειρές για την δεύτερη εικόνα

Και συνεχίζεις για ολόκληρο το sheet

Θα πρέπει να εμφανίζονται «001», «002» κτλ.

 

Βήμα 8: Σώσε μέχρι εδώ

Θα συμπληρώσεις την στήλη D, στην κατάλληλη σειρά θα μετράς τους κωδικούς που θα χρειαστείς.

Στο παραδειγμά σου θα επιλέξεις

Κελί D1 και θα γράψεις «1»

Κελί D4 και θα γράψεις «2»

Κελί D7 και θα γράψεις «3»

Κελί D10 και θα γράψεις «4»

Κελί D13 και θα γράψεις «5»

 

Και θα συνεχίσεις για όλες τις εικόνες, κάθε φορά θα ξεκινάς από τον αριθμό 1. Αν κάθε εικόνα αντιστοιχεί σε συγκεκριμένο αριθμό κωδικών μπορείς να χρησιμοποιήσεις copy-paste

 

Θα πρέπει να εμφανίζονται «1», κενό, κενό, «2», κενό, κενό, «3», κενό, κενό κτλ.

 

Βήμα 9: Σώσε μέχρι εδώ

Θα συμπληρώσεις στο E1 «=IF(B1<>0;"COPY IMAGE"&C1&".GIF "&$A$1&"IMG"&C1&"-"&D1&".GIF";"")»

 

Θα πρέπει να εμφανίζεται κάτι τέτοιο «COPY IMAGE001.GIF C:\TEST2\IMG001-1.GIF»

Επέλεξε την κάτω δεξιά γωνία του κελιού και τράβηξέ το μέχρι εκεί που τελειώνουν οι σειρές για όλο το sheet

 

Βήμα 10: Σώσε μέχρι εδώ

Θα συμπληρώσεις στο F1 «=IF(B1<>0;"REN IMG"&C1&"-"&D1&".GIF "&B1&".GIF";"")»

 

Θα πρέπει να εμφανίζεται κάτι τέτοιο «REN IMG001-1.GIF IM1.GIF»

Επέλεξε την κάτω δεξιά γωνία του κελιού και τράβηξέ το μέχρι εκεί που τελειώνουν οι σειρές για όλο το sheet

 

Βήμα 11: Σώσε μέχρι εδώ

Αν έχεις εγκατεστημένη vba πάτα Alt+F11

Αριστερά στο παράθυρο που έχει επιλογές με μορφή δέντρου επέλεξε το τελευταίο «ThisWorkbook» δεξί κλίκ Insert  Module

 

Σε αυτό το σημείο θα κάνεις paste τον παρακάτω κώδικα:

 

>Sub run_copy()

   Range("E1:E2000").Select
   Dim DestFile As String
   Dim FileNum As Integer
   Dim ColumnCount As Integer
   Dim RowCount As Integer
   
   DestFile = ActiveWorkbook.Path & "\run_copy.bat"
   FileNum = FreeFile()
   On Error Resume Next
   Open DestFile For Output As #FileNum
   If Err <> 0 Then
       MsgBox "Cannot open filename " & DestFile
       End
   End If
   On Error GoTo 0
   For RowCount = 1 To Selection.Rows.Count
       For ColumnCount = 1 To Selection.Columns.Count
       Print #FileNum, Selection.Cells(RowCount, _
       ColumnCount).Text;
       If ColumnCount = Selection.Columns.Count Then
           Print #FileNum,
           Else
           Print #FileNum, ",";
       End If
       Next ColumnCount
   Next RowCount
   Close #FileNum
   
   Range("A1").Select

End Sub

Sub run_rename()

   Range("F1:F2000").Select
   Dim DestFile As String
   Dim FileNum As Integer
   Dim ColumnCount As Integer
   Dim RowCount As Integer
   
   DestFile = ActiveWorkbook.Path & "\run_rename.bat"
   FileNum = FreeFile()
   On Error Resume Next
   Open DestFile For Output As #FileNum
   If Err <> 0 Then
       MsgBox "Cannot open filename " & DestFile
       End
   End If
   On Error GoTo 0
   For RowCount = 1 To Selection.Rows.Count
       For ColumnCount = 1 To Selection.Columns.Count
       Print #FileNum, Selection.Cells(RowCount, _
       ColumnCount).Text;
       If ColumnCount = Selection.Columns.Count Then
           Print #FileNum,
           Else
           Print #FileNum, ",";
       End If
       Next ColumnCount
   Next RowCount
   Close #FileNum
   
   Range("A1").Select

End Sub

 

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

Γύρνα στο excel και σώσε

Βήμα 12: Πάτα Alt+F8 και επέλεξε “run_copy” και το κουμπί Run

 

Στον φάκελο c:\test θα πρέπει να υπάρχει ένα αρχείο run_copy.bat

 

Τρέξε αυτό το αρχείο

 

Όταν τελειώσει θα πρέπει στον φάκελο c:\test2 να έχεις όλες τις εικόνες που θα χρειαστείς

 

Βήμα 13: Πάτα Alt+F8 και επέλεξε “run_rename” και το κουμπί Run

 

Στον φάκελο c:\test θα πρέπει να υπάρχει ένα αρχείο run_ rename.bat

 

Μετακινησέ το στο φάκελο c:\test2

 

Τρέξε αυτό το αρχείο από τον φάκελο c:\test2

 

Έχει κάνει τις μετονομασίες, όπου υπήρχε ίδιος κωδικός έχει αφήσει το όνομα το παλιό οπότε μπορείς να κάνεις μια ταξινόμηση με όνομα αρχείου και τα αρχεία που με όνομα «IMG***-*» αν είσαι σίγουρος ότι δεν έχεις κωδικούς τέτοιου τύπου μπορείς να τα σβήσεις.

 

Αυτά τα λίγα... ;-)

Για τα επόμενα sheet καλύτερα να τα κάνεις από την αρχή αλλά αν θες να χρησιμοποιήσεις το ίδιο excel απλά παραλέιπεις το Βήμα 11

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...