本文实现了批量给excel加密的办法 ,参考的网上的部分代码。运行时候第一个对话框是原始文件所在的位置选择,第二次对话框选择输出文件的位置,同时对加密函数添加一句代码,解决了批量运行报错的问题,pwd_xlsx里面加了wb.Close()这一句,有效解决问题。

本文第二个特点,引用了之前见过一位大侠,用汉语写的一个获取文件路径的函数。

import os, sys
import win32com.client
import time
import hashlib
import tkinter as tk    #调用GUI图形模块from tkinter import filedialogdef pwd_xlsx(old_filename,new_filename,pwd_str,pw_str=''):xcl = win32com.client.Dispatch("Excel.Application")# pw_str为打开密码, 若无 访问密码, 则设为 ''wb = xcl.Workbooks.Open(old_filename, False, False, None, pw_str)xcl.DisplayAlerts = False# 保存时可设置访问密码.wb.SaveAs(new_filename, None, pwd_str, '')time.sleep(0)wb.Close()xcl.Quit()def read_path(path):dirs = os.listdir(path)return dirsdef 方法_获取文件路径(data_dir):文件集 = os.listdir(data_dir)filename=[]#return 文件集for 文件名 in 文件集:文件名分解 = 文件名.split('.')#print(文件名分解)if 文件名分解[-1] == 'xlsx' or 文件名分解[-1] == 'xls':excel文件路径 = (data_dir +  文件名)                filename.append(excel文件路径)#print(excel文件路径)#print(filename)return filenamedef main():root = tk.Tk()root.withdraw()data_dir = filedialog.askdirectory(title='请选择excel所在文件夹')+'/'  # 将源文件路径里面的文件转换成列表file_listfile_list = 方法_获取文件路径(data_dir)dirs='临时文件'if not os.path.exists(dirs):os.makedirs(dirs)  #输出文件夹#global result_dirresult_dir =dirs+'/' # 源文件路径source = data_dir# 目标文件路径ob =filedialog.askdirectory(title='请选择输出另存的文件夹')+'/'a = 0       # 列表索引csv文件名称放进j_list列表中,索引0即为第一个csv文件名称j_list = read_path(source)       # 文件夹中所有的csv文件名称提取出来按顺序放进j_list列表中#print("---->", read_path(source))       # read_path(source) 本身就是列表#print("read_path(source)类型:", type(read_path(source)))# 建立循环对于每个文件调用excel_to_csv()for it in file_list:print(it+'开始加密')j = j_list[a]    # 按照索引逐条将csv文件名称赋值给变量j#print(j)# 给目标文件新建一些名字列表new_filename=ob + '\\' + str(j)pwd_str = '654321'#新密码自定义aa = it#print(aa.replace("/", "\\"))bb =ob+str(j)#print(bb.replace("/", "\\"))path1=aa.replace("/", "\\")path2=bb.replace("/", "\\")#Remove_password_xlsx(aa.replace("/", "\\"), pw_str)try:pwd_xlsx(path1, path2,pwd_str)print(it+'加密完成')time.sleep(1)except Exception as e:print(it+'加密失败,请手动设置')passa = a+1if __name__ == '__main__':main()

Python 利用win32com批量给excel加密相关推荐

  1. Excel中利用宏批量生成md5加密

    ** Excel中利用宏批量生成md5加密 一.下载宏文件 点击下载md5宏.xla 二.找到excle并加载宏 1.依次打开[文件]-[选项]-[自定义功能区] 选中[开发工具] 2.这样在Exce ...

  2. Python+os+openpyxl 批量获取Excel的文件名和最大行数

    1. 提出需求 这已经不知道是粉丝问我的第几个办公自动化的问题了,并且这些问题都是大家在学习和工作中碰到过的真实问题场景.其实从下图中已经可以很明确的看出别人的需求了,我这里就不用在赘述了,下面直接上 ...

  3. Python利用bs4批量抓取网页图片并下载保存至本地

    Python利用bs4批量抓取网页图片并下载保存至本地 使用bs4抓取网页图片,bs4解析比较简单,需要预先了解一些html知识,bs4的逻辑简单,编写难度较低.本例以抓取某壁纸网站中的壁纸为例.(b ...

  4. 如何利用VBA批量更改Excel文件的内容

    心得(5):利用VBA批量更改Excel文件的内容 问题:因为接受的所有Excel文件都是相同格式的,但是有个单元格的内容就是需要,主办方来更改,如下所示: 获奖级别,得由主办方来更改,但是如果一个一 ...

  5. python pdf 图片水印_怎样用python给pdf批量添加水印并加密

    很多时候需要给pdf添加水印,而且还要加密文件,这些在Python中是如何实现的呢?学过编程的小伙伴准备好迎接今天的挑战吧. 1.设置路径 import os os.getcwd() os.chdir ...

  6. 调研-python使用win32com模块操纵excel

    文章目录 背景介绍 其他工具 简单使用 wps和excel访问的API不同的问题 尝试1: 尝试2: 尝试3 尝试4 尝试5 正道的光 背景介绍 使用的工具是:pywin32 PS:不是网上其他有些弄 ...

  7. python利用多线程批量下载高清美女图片(350秒下载近3600张1.2个G的照片,地址可变)

    目录 第一章.前言 1.1.实现的效果: 1.2.需要用到的库: 第二章.代码分块讲解 2.1.对象的定义和初始化 2.2.方法1和2获取所有图集链接 2.2.1. 对应网站结构 2.2.2 .相应代 ...

  8. python 利用win32com进行数据透视表绘制

    在日常处理中或许会用到数据透视表的功能,但发现对于使用win32com来做数据透视表的介绍有点少. 接下来就是介绍利用win32com进行数据表创建 这也是一个查找的资料的例子,只是稍作了修改,使得可 ...

  9. [转载] Python利用openpyxl模块读取excel文件内容

    参考链接: Python | 使用openpyxl模块调整Excel文件的行和列 import openpyxl wb = openpyxl.load_workbook('原始数据.xlsx') #读 ...

  10. 如何用迅雷下载python_用Python调用迅雷批量下载excel表内的链接,并同时对文件重命名(使用的是openpyxl)...

    #首先把文件名放在excel表中的第一列,把对应的链接地址放在第二列 #为什么要用迅雷来下载,因为可以加速啊 #为什么你有这些链接啊,因为我用了八爪鱼爬虫啊 #为什么用八爪鱼爬虫啊,因为python学 ...

最新文章

  1. shell 批量转换文件编码
  2. 百度关键词研究: 应避免的5个错误!
  3. hadoop 提高hdfs删文件效率----hadoop删除文件流程解析
  4. “衣+”挑战百度 图像识别搜索引擎
  5. 【免费报名】挑战与机遇同在,大步迈进全真互联网时代
  6. 学习jvm,关于MAT an internal error occurred during:Parsing heap dump from问题
  7. arcgis的python接口_arcgis-Python的ArcGIS API-Esri Screenshots
  8. 5.21工作记录(修改页面跳转,去掉多余的js;增加图片清除功能)
  9. Java实现模拟银行系统
  10. go tcp socket
  11. Word文档多级标题自动编号设置
  12. 操作系统启动后 计算机处于 模式,电脑开机出现选择操作系统。怎么办?
  13. 【爬虫】根据水文资料(水位/流量)爬取地理空间数据云遥感影像信息
  14. 身份证号归属地 在线查询服务 api
  15. BAT某公司的一套面试题
  16. adb控制移动数据、wifi开关、下拉菜单栏
  17. Is the influences futural AI bring to software engineers are that scary?
  18. 一些代码静态检查工具的简介
  19. xtuoj1404菱形 II
  20. mac os x 文件权限管理

热门文章

  1. edison\arduino-1.5.3-Intel.1.0.3闪退
  2. android文档在线批注,文档批注
  3. 优雅发送HTTP请求
  4. `canvas`破苍穹
  5. Ubuntu查看文件夹占用空间大小以及磁盘空间大小
  6. 2014年市场需求排名前10的编程语言 - 生命的延续是 BI
  7. 【2018国赛线上比赛】知识问答题真题演练第一波
  8. 如何从macOS Catalina向iPhone添加自定义铃声
  9. 如何使用stripe_使用Stripe和Laravel出售下载内容
  10. C#源码大型ERP系统企业管理 CS框架源码 进销存 二次开