Şifreli Excel Dosyalarını Toplu Şifre Kaldırma

sembek

Altın Üye
Katılım
13 Ocak 2021
Mesajlar
17
Excel Vers. ve Dili
Office 2019 - TR 64bit
Altın Üyelik Bitiş Tarihi
06-04-2027
Merhaba,

Şifreli olan excel dosyalarını toplu bir şekilde şifrelerini kaldırabilmek mümkün mü? Hepsinde aynı şifre var, kaydedilirken bu şekilde kaydedildi. Dosyaların içerisindeki verileri çekmem gerekiyor ama tek tek şifre girişiyle yapmak çok yorucu. Şifre girerek de bir otomasyon çözümü varsa oda olabilir. Yardımlarınızı bekliyorum. İyi çalışmalar.
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,529
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Hepsinde aynı sifre varsa ;
Yeni bir excel dosyası acın
alt+f11 beraber basarak vba kısmına gecin
sol menüde dosya adına sag tıklayarak yeni modul acın
Modul icine bu kodu yapıstırın ( onemli olan dosyaların oldugu klasor yolunu dogru yazın)
save ederken ( makro calısabilir seccenegini secin ) .xlsm olarak kaydedin
Calıstırıarak deneyin


Kod:
Sub UnlockExcelFiles()
    Dim folderPath As String
    Dim fileName As String
    Dim password As String
    Dim wb As Workbook
    
    ' Şifrenizi buraya girin
    password = "şifreniz"
    
    ' Excel dosyalarının bulunduğu klasörü seçin
    folderPath = "C:\path\to\your\excel\files\"
    
    ' Klasördeki tüm Excel dosyalarını açın ve şifreyi kaldırın
    fileName = Dir(folderPath & "*.xlsx")
    Do While fileName <> ""
        Set wb = Workbooks.Open(folderPath & fileName, Password:=password)
        wb.SaveAs folderPath & "unlocked_" & fileName
        wb.Close
        fileName = Dir
    Loop
    
    MsgBox "Tüm dosyalar başarıyla şifresiz hale getirildi!"
End Sub
Dosyalar ve klasor sizde oldugundan deneme sansım yok
 

sembek

Altın Üye
Katılım
13 Ocak 2021
Mesajlar
17
Excel Vers. ve Dili
Office 2019 - TR 64bit
Altın Üyelik Bitiş Tarihi
06-04-2027
Hepsinde aynı sifre varsa ;
Yeni bir excel dosyası acın
alt+f11 beraber basarak vba kısmına gecin
sol menüde dosya adına sag tıklayarak yeni modul acın
Modul icine bu kodu yapıstırın ( onemli olan dosyaların oldugu klasor yolunu dogru yazın)
save ederken ( makro calısabilir seccenegini secin ) .xlsm olarak kaydedin
Calıstırıarak deneyin


Kod:
Sub UnlockExcelFiles()
    Dim folderPath As String
    Dim fileName As String
    Dim password As String
    Dim wb As Workbook
   
    ' Şifrenizi buraya girin
    password = "şifreniz"
   
    ' Excel dosyalarının bulunduğu klasörü seçin
    folderPath = "C:\path\to\your\excel\files\"
   
    ' Klasördeki tüm Excel dosyalarını açın ve şifreyi kaldırın
    fileName = Dir(folderPath & "*.xlsx")
    Do While fileName <> ""
        Set wb = Workbooks.Open(folderPath & fileName, Password:=password)
        wb.SaveAs folderPath & "unlocked_" & fileName
        wb.Close
        fileName = Dir
    Loop
   
    MsgBox "Tüm dosyalar başarıyla şifresiz hale getirildi!"
End Sub
Dosyalar ve klasor sizde oldugundan deneme sansım yok
Merhaba, desteğiniz için teşekkürler.
Dosya yolu ve şifreyi doğru olarak giriyorum, msgbox çalışıyor ancak şifreler kalkmadı.
 
Katılım
11 Temmuz 2024
Mesajlar
208
Excel Vers. ve Dili
Excel 2021 Türkçe
Merhaba, deneyip sonucu paylaşabilir misiniz;

Kod:
Sub SifreleriTopluKaldir()
    Dim dosyaAdi As String
    Dim klasorYolu As String
    Dim wb As Workbook
    Dim sifre As String
    klasorYolu = "C:\SifreliExcelDosyalar\"
    sifre = "buraya_sifrenizi_girin"
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    dosyaAdi = Dir(klasorYolu & "*.xlsx")
    
    Do While dosyaAdi <> ""
        Set wb = Workbooks.Open(Filename:=klasorYolu & dosyaAdi, Password:=sifre)
        wb.Password = ""
        wb.SaveAs Filename:=klasorYolu & dosyaAdi, Password:=""
        wb.Close
        dosyaAdi = Dir
    Loop
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    MsgBox "Şifre kaldırma işlemi tamamlandı."
End Sub
 

sembek

Altın Üye
Katılım
13 Ocak 2021
Mesajlar
17
Excel Vers. ve Dili
Office 2019 - TR 64bit
Altın Üyelik Bitiş Tarihi
06-04-2027
Merhaba, deneyip sonucu paylaşabilir misiniz;

Kod:
Sub SifreleriTopluKaldir()
    Dim dosyaAdi As String
    Dim klasorYolu As String
    Dim wb As Workbook
    Dim sifre As String
    klasorYolu = "C:\SifreliExcelDosyalar\"
    sifre = "buraya_sifrenizi_girin"
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    dosyaAdi = Dir(klasorYolu & "*.xlsx")
   
    Do While dosyaAdi <> ""
        Set wb = Workbooks.Open(Filename:=klasorYolu & dosyaAdi, Password:=sifre)
        wb.Password = ""
        wb.SaveAs Filename:=klasorYolu & dosyaAdi, Password:=""
        wb.Close
        dosyaAdi = Dir
    Loop
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    MsgBox "Şifre kaldırma işlemi tamamlandı."
End Sub
Merhaba, teşekkürler yanıtınız için ancak aynısı oldu. Şifre kaldırma işlemi tamamlandı. yazıyor ve değişen bir şey yok.
 

sembek

Altın Üye
Katılım
13 Ocak 2021
Mesajlar
17
Excel Vers. ve Dili
Office 2019 - TR 64bit
Altın Üyelik Bitiş Tarihi
06-04-2027
Konuyu ChatGPT ile çözdüm. Daha sonra ihtiyacı olabilecek birileri olursa diye kodu aşağıya ekliyorum. Benim işlemimde tüm dosyalardaki şifreler aynıydı. Hepsi aynı olduğunda kod çalışır. Kolay gelsin herkese.
DosyaParolası kısmına parolayı,
targetFolder kısmına dosyaların yer aldığı klasörü yazın sonrası dosya adetine göre sürede bitiyor.


Kod:
Sub RemovePasswordsFromMultipleXLS_ProgressDebugPrint()

    Dim targetFolder As String
    Dim fileName As String
    Dim wb As Workbook
    Dim currentFilePath As String
    
    Dim currentCount As Long
    
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    
    Const filePassword As String = "DosyaParolası"
    targetFolder = "C:\Path\To\Folder\"
    
    fileName = Dir(targetFolder & "*.xls")
    
    Do While fileName <> ""
        currentCount = currentCount + 1
        
        ' Immediate Window'a yaz (Alt+F11 -> View -> Immediate Window)
        Debug.Print currentCount & ". işleniyor: " & fileName
        
        currentFilePath = targetFolder & fileName
        
        On Error Resume Next
        Set wb = Workbooks.Open(Filename:=currentFilePath, Password:=filePassword)
        If Not wb Is Nothing Then
            
            On Error GoTo 0
            
            wb.Password = ""
            wb.WritePassword = ""
            
            Application.DisplayAlerts = False
            wb.SaveAs Filename:=currentFilePath, FileFormat:=xlExcel8, Password:="", WriteResPassword:=""
            Application.DisplayAlerts = True
            
            wb.Close SaveChanges:=False
            Set wb = Nothing
        
        Else
            Debug.Print "Dosya açılamadı veya parola yanlış: " & fileName
            On Error GoTo 0
        End If
        
        fileName = Dir
    Loop
    
    MsgBox "Tüm .xls dosyalarının toplu şifre kaldırma işlemi tamamlandı.", vbInformation

    Application.EnableEvents = True
    Application.ScreenUpdating = True

End Sub
 
Üst