Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [Excel07] Ξεκλείδωμα προστατευμένων κελιών

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 04-12-09, 16:02
Όνομα: Χρήστος Ελευθερίου
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 26-11-2009
Περιοχή: Άρτεμις
Μηνύματα: 100
Προεπιλογή Ξεκλείδωμα προστατευμένων κελιών

Γεια σας παιδια
Θελω να ρωτησω αν μπορουμε να ξεκλειδωσουμε προσταευεμενα κελια αν δεν εχουμε τον κωδικο . Υπαρχει κανεισ τροπος;

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

Αγαπητέ Χρήστο,
Για να ανακτήσεις τον χαμένο κωδικό του Βιβλίου εργασίας ή απλά να τον αφαιρέσεις, θα πρέπει να κοιτάξεις στο Internet εμπορικά προγράμματα που κάνουν τη δουλειά αυτή.
Αν πρόκειται για αφαίρεση (όχι ανάκτηση) κωδικού ενός Φύλλου εργασίας, μπορεί να χρησιμοποιηθεί ο παρακάτω κώδικας:


Σε ένα κοινό Module επικολλούμε τον παρακάτω κώδικα που αφαιρεί τον κωδικό από το ενεργοποιημένο φύλλο:
Κώδικας:
'ΠΡΟΣΟΧΗ!! Συνιστάται μόνο για ιδιόκτητα Excel φύλλα!
Option Explicit
Sub GetPass()
    Const a = 65, b = 66, c = 32, d = 126
    Dim i#, j#, k#, l#, m#, n#, o#, p#, q#, r#, s#, t#
    With ActiveSheet
        If .ProtectContents Then
            On Error Resume Next
            For i = a To b
                For j = a To b
                    For k = a To b
                        For l = a To b
                            For m = a To b
                                For n = a To b
                                    For o = a To b
                                        For p = a To b
                                            For q = a To b
                                                For r = a To b
                                                    For s = a To b
                                                        For t = c To d
            .Unprotect Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & _
            Chr(n) & Chr(o) & Chr(p) & Chr(q) & Chr(r) & Chr(s) & Chr(t)
                                                        Next t
                                                    Next s
                                                Next r
                                            Next q
                                        Next p
                                    Next o
                                Next n
                            Next m
                        Next l
                    Next k
                Next j
            Next i
            MsgBox "Finished"
        End If
    End With
End Sub
Ο χρόνος που θα χρειαστεί εξαρτάται κατά ένα μεγάλο ποσοστό από την ισχύ του υπολογιστή.

Φιλικά

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

Τελευταία επεξεργασία από το χρήστη Tasos : 05-12-09 στις 00:04.
Απάντηση με παράθεση
  #3  
Παλιά 04-12-09, 21:28
Όνομα: Χρήστος Ελευθερίου
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 26-11-2009
Περιοχή: Άρτεμις
Μηνύματα: 100
Προεπιλογή

Τάσο σε ευχαριστω θα το δοκιμάσω,

Χρηστος
Απάντηση με παράθεση
  #4  
Παλιά 06-12-09, 18:48
Όνομα: Χρήστος Ελευθερίου
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 26-11-2009
Περιοχή: Άρτεμις
Μηνύματα: 100
Προεπιλογή

Τασο σε ευχαριστώ πολυ το δοκιμασα και δουλεψε τελεια.
__________________
Φιλικά

Χρήστος
___________________________
Αυτά που δεν ξέρεις φτιάχνουν μία βιβλιοθήκη που καθένας μας θα ήταν υπερήφανος να έχει.
Αν η γνώση δημιουργεί προβλήματα,η άγνοια σίγουρα δεν μπορεί να τα λύσει.
Απάντηση με παράθεση
  #5  
Παλιά 06-12-09, 19:34
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Νάσαι καλά φίλε μου!
Τα λέμε

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #6  
Παλιά 07-12-09, 13:08
Το avatar του χρήστη nisgia
Super Moderator
Όνομα: Γιάννης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 12-10-2009
Περιοχή: Ηγουμενίτσα
Μηνύματα: 161
Προεπιλογή

Γεια σας και από μένα!

Με την ευκαιρία να υπενθυμίσω πως έχουμε τη δυνατότητα να "κλέψουμε"
τα δεδομένα ενός προστατευμένου φύλλου με την εξής εντολή:

Κώδικας:
ActiveSheet.Cells.Value = Sheets(1).Cells.Value
Όπου Sheets(1) το προστατευμένο φύλλο.
Φυσικά τη θέση του ActiveSheet μπορεί να πάρει οποιοδήποτε φύλλο θέλουμε.

Φιλικά, Γιάννης
Απάντηση με παράθεση
  #7  
Παλιά 07-12-09, 16:45
Όνομα: Μάριος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 13-11-2009
Μηνύματα: 7
Προεπιλογή

Θα "κλέψεις" απλώς τιμές όμως έτσι? όχι τύπους ή συναρτήσεις ή μορφοποίηση, ε?
Απάντηση με παράθεση
  #8  
Παλιά 07-12-09, 18:23
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Μάριε, καλησπέρα και καλωσόρισες στο φόρουμ!
Θα μπορούσε να γίνει ακόμα έτσι:

Κώδικας:
Option Explicit

Sub CopyUsedRange()
    Dim x$
    x = Sheets(1).UsedRange.Address
    Sheets(1).Range(x).Copy ActiveSheet.Range(x)
End Sub
Με εκτίμηση

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #9  
Παλιά 08-12-09, 01:44
Το avatar του χρήστη nisgia
Super Moderator
Όνομα: Γιάννης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 12-10-2009
Περιοχή: Ηγουμενίτσα
Μηνύματα: 161
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από Μάριος Εμφάνιση μηνυμάτων
Θα "κλέψεις" απλώς τιμές όμως έτσι? όχι τύπους ή συναρτήσεις ή μορφοποίηση, ε?
Φυσικά μόνο τις τιμές.
Άλλωστε αυτό φαίνεται και από την ρητή αναφορά στην ιδιότητα Value της ιδιότητας Cells.
Όμως, με την παρακάτω εντολή "κλέβεις" και όλα τα υπόλοιπα που ανέφερες:

Κώδικας:
Sheets(1).UsedRange.Copy ActiveSheet.Cells(1)
Γενικά, ο κώδικας VBA μπορεί να παρακάμψει την προστασία ενός φύλλου
αρκεί να μην αναπαράγει ενέργειες που θα έκανε ο χρήστης μέσω της οπτικής διασύνδεσης(UI).
Απάντηση με παράθεση
  #10  
Παλιά 08-12-09, 18:06
Όνομα: Μάριος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 13-11-2009
Μηνύματα: 7
Προεπιλογή

Δοκίμασα να τρέξω σε προστατευμένο φύλλο τον κώδικα Sub CopyUsedRange()
αλλά μου βγάζει Run Time error 1004
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[ Ασφάλεια] Ξεκλείδωμα μια βάσης Access giokliss Access - Ερωτήσεις / Απαντήσεις 4 20-04-16 21:52
[VBA] Κλείδωμα - Ξεκλείδωμα όλων των φύλλων ενός βιβλίου AIAS Excel - Ερωτήσεις / Απαντήσεις 7 19-12-15 21:12
[ Υποφόρμες ] Κώδικας για Ξεκλείδωμα Free_Ghost Access - Ερωτήσεις / Απαντήσεις 3 20-10-12 21:59
Ξεκλείδωμα αρχειου mdb manolis Access - Ερωτήσεις / Απαντήσεις 5 15-07-10 22:06


Η ώρα είναι 08:13.