@@ -18,12 +18,13 @@ def excel_decrypt(src_file: str, password: str, del_src: bool = False)->bool:
18
18
for pwd in passwords :
19
19
try :
20
20
xlapp = Dispatch ("Excel.Application" )
21
- xlapp .Workbooks .Open (src_file , False , True , None , pwd )
21
+ wb = xlapp .Workbooks .Open (src_file , False , True , None , pwd )
22
22
file_name = src_file .split ("\\ " )[- 1 ]
23
23
file_location = src_file [0 :(len (src_file ) - len (file_name ))]
24
- wb = xlapp .Workbooks [0 ]
25
- wb .Password = ""
26
- xlapp .ActiveWorkbook .SaveAs (os .path .join (file_location , ("(decrypted)" + file_name )))
24
+ save_path = os .path .join (file_location , ("(decrypted)" + file_name ))
25
+ xlapp .DisplayAlerts = False
26
+ xlapp .ActiveWorkbook .SaveAs (save_path , None , "" , "" )
27
+ wb .Close ()
27
28
xlapp .Quit ()
28
29
flag = True
29
30
print ("decrypt success![%s]" % pwd )
@@ -32,19 +33,20 @@ def excel_decrypt(src_file: str, password: str, del_src: bool = False)->bool:
32
33
os .remove (src_file )
33
34
print ("origin file delete success![%s]" % src_file )
34
35
except Exception as e :
35
- print ("origin file delete failed![%s]" % src_file )
36
+ print ("origin file delete failed![%s]" % src_file , repr ( e ) )
36
37
break
37
38
except Exception as e :
38
- print ("wrong password![%s]" % pwd )
39
+ print ("wrong password![%s]" % pwd , repr ( e ) )
39
40
else :
40
41
try :
41
42
xlapp = Dispatch ("Excel.Application" )
42
- xlapp .Workbooks .Open (src_file , False , True , None , password )
43
+ wb = xlapp .Workbooks .Open (src_file , False , True , None , password )
43
44
file_name = src_file .split ("\\ " )[- 1 ]
44
- file_location = src_file [0 :(len (src_file )- len (file_name ))]
45
- wb = xlapp .Workbooks [0 ]
46
- wb .Password = ""
47
- xlapp .ActiveWorkbook .SaveAs (os .path .join (file_location , ("(decrypted)" + file_name )))
45
+ file_location = src_file [0 :(len (src_file ) - len (file_name ))]
46
+ save_path = os .path .join (file_location , ("(decrypted)" + file_name ))
47
+ xlapp .DisplayAlerts = False
48
+ xlapp .ActiveWorkbook .SaveAs (save_path , None , "" , "" )
49
+ wb .Close ()
48
50
xlapp .Quit ()
49
51
flag = True
50
52
print ("decrypt success![%s]" % password )
@@ -53,12 +55,12 @@ def excel_decrypt(src_file: str, password: str, del_src: bool = False)->bool:
53
55
os .remove (src_file )
54
56
print ("origin file delete success![%s]" % src_file )
55
57
except Exception as e :
56
- print ("origin file delete failed![%s]" % src_file )
58
+ print ("origin file delete failed![%s]" % src_file , repr ( e ) )
57
59
except Exception as e :
58
- print ("wrong password![%s]" % password )
60
+ print ("wrong password![%s]" % password , repr ( e ) )
59
61
return flag
60
62
61
63
62
64
if __name__ == "__main__" :
63
65
print (excel_decrypt (r"C:\Users\eason\Desktop\test\decrypt\t1.xls" , password = "111111,123456,121212" , del_src = True ))
64
- print (excel_decrypt (r"C:\Users\eason\Desktop\test\decrypt\t2.xlsx" , password = "111111,123456,121212" , del_src = False ))
66
+ print (excel_decrypt (r"C:\Users\eason\Desktop\test\decrypt\t2.xlsx" , password = "111111,123456,121212" , del_src = True ))
0 commit comments