qzwsa 发表于 2023-3-18 09:40

简约的批量对当前文件夹下的excel文件设置打开密码

本帖最后由 qzwsa 于 2023-3-18 09:41 编辑

刚好有需要对批量的电子表格做密码设置,顺手写了一个超简约的功能,分享给正好也有需要的。
功能很少,很简约,见笑了。
import os
import glob
import win32com.client as win32
#提示:
print("程序功能:批量对当前文件夹下的excel文件设置打开密码")
print("特别注意:请一定要记住自己设置的密码!!!")
print("吾爱:qzwsa 2023-03-18")
# 获取当前文件夹下所有Excel文件
excel_files = glob.glob(os.getcwd() + '\\*.xls*')
password = input('请输入密码,忘记没有解密:')
# 循环遍历Excel文件,并设置输入密码
for excel_file in excel_files:
    if excel_file.endswith('.xlsx') or excel_file.endswith('.xls'):
      excel = win32.gencache.EnsureDispatch('Excel.Application')
      wb = excel.Workbooks.Open(excel_file)
      
      try:
            wb.Password = password
            wb.Save()
            wb.Close()
            excel.Quit()
            print('密码设置成功')
      except:
            print('密码设置失败请手动设置')

https://i.328888.xyz/2023/03/18/L9DUL.jpeg

打包好的下载地址:https://wwzm.lanzouf.com/iQ2ex0qdv1if

qzwsa 发表于 2023-3-18 14:23

zzhhxxww 发表于 2023-3-18 12:37
golbos.getcwd 是个固定函数吗
不太懂 ,学习ing


os.getcwd() 是Python中的一个函数,用于获取当前工作目录。工作目录是指程序执行时默认的目录,所有文件操作的相对路径都是相对于这个目录的。该函数不需要参数,直接调用即可

qzwsa 发表于 2023-7-18 09:03

十年自由 发表于 2023-7-17 19:16
不能一个文件一个密码吗
在代码上把输入密码的地方换个位置就可以了,但是这样和单独一个个打开设置感觉差不多呀。import os
import glob
import win32com.client as win32

# 提示:
print("程序功能:批量对指定目录下的excel文件设置打开密码")
print("特别注意:请一定要记住自己设置的密码!!!")
print("吾爱:qzwsa 2023-03-18")

# 获取用户输入的要处理的文件夹路径
file_path = input('请输入要处理的文件夹路径(回车确认当前目录):')

if file_path.strip() == '':
    # 如果用户未输入路径,则默认使用当前目录
    file_path = os.getcwd()
else:
    # 否则,使用用户输入的路径
    file_path = os.path.abspath(file_path)

print(f'当前处理的目录为:{file_path}')

# 获取当前文件夹下所有Excel文件
excel_files = glob.glob(os.path.join(file_path, '*.xls*'))

# 循环遍历Excel文件,并设置输入密码
for excel_file in excel_files:
    if excel_file.endswith('.xlsx') or excel_file.endswith('.xls'):
      password = input(f'请输入文件"{excel_file}"的密码,忘记没有解密:')
      
      excel = win32.gencache.EnsureDispatch('Excel.Application')
      wb = excel.Workbooks.Open(excel_file)

      try:
            wb.Password = password
            wb.Save()
            wb.Close()
            excel.Quit()
            print('密码设置成功:', excel_file)
      except:
            print('密码设置失败请手动设置:', excel_file)

gztf 发表于 2023-3-18 10:06

不错的软件,感谢分享

cutpal 发表于 2023-3-18 10:12

感谢高手,学习了

wuaipojieuser 发表于 2023-3-18 10:19

兄弟我也在学py.
你是怎么打包成exe的呀

qzwsa 发表于 2023-3-18 10:21

wuaipojieuser 发表于 2023-3-18 10:19
兄弟我也在学py.
你是怎么打包成exe的呀

我一般是使用pyinstaller,你可以参考一下https://blog.csdn.net/weixin_45953322/article/details/128774685

bjxiaoyao 发表于 2023-3-18 10:28

很好,功能简单实用

LZJ123lzj 发表于 2023-3-18 10:29

很方便啊,谢谢分享

zzhhxxww 发表于 2023-3-18 12:37

golbos.getcwd 是个固定函数吗
不太懂 ,学习ing

ma20230313 发表于 2023-3-18 19:19

内容很简单,但是很受用
页: [1] 2 3
查看完整版本: 简约的批量对当前文件夹下的excel文件设置打开密码