用win32com库对表格启用带筛选的保护无效

查看 49|回复 6
作者:雾霭c   
[Python] 纯文本查看 复制代码    excel = win32.GetActiveObject("Excel.Application")
    wb = excel.ActiveWorkbook
    sheet = wb.ActiveSheet
    sheet.Protect(AllowFiltering=True)
在python中我想用win32com库对表格进行保护工作表,并启用筛选,按照文档里面里面说明给Protect方法传入AllowFiltering参数并设置为True就可以启动保护状态下的筛选,但我运行后表格被保护,但依旧无法筛选,大佬们帮忙看看应该如何处理呀在WPS以及office都尝试过,筛选也是提前打开过的,保护后筛选的下拉箭头就无法点击了,手动点击保护然后勾选可筛选点确认保护之后,筛选下拉箭头是可以点击的,通过此代码执行则无效果,无法点击筛选
​

微软, 表格

bester   

所有的代码还有文档,都传一下
ygq170063   

试试这个代码:
[Python] 纯文本查看 复制代码import win32com.client as win32
excel = win32.GetActiveObject("Excel.Application")
wb = excel.ActiveWorkbook
sheet = wb.ActiveSheet
# 确保筛选区域已应用筛选
if not sheet.AutoFilterMode:
    sheet.Range("A1:D1").AutoFilter()  # 更改为你的筛选区域
# 设置保护,启用筛选
sheet.Protect(Contents=True, UserInterfaceOnly=True, AllowFiltering=True)
# 确保保护设置已经应用
sheet.EnableAutoFilter = True
雾霭c
OP
  


bester 发表于 2024-6-4 13:12
所有的代码还有文档,都传一下

import win32com.client as win32
excel = win32.GetActiveObject("Excel.Application")
wb = excel.ActiveWorkbook
sheet = wb.ActiveSheet

筛选保护.txt
(15.03 KB, 下载次数: 0)
2024-6-4 14:35 上传
点击文件名下载附件
下载积分: 吾爱币 -1 CB

雾霭c
OP
  


bester 发表于 2024-6-4 13:12
所有的代码还有文档,都传一下

txt下载后改后缀为xlsx哟,因为我上传只能上传txt格式文件。
雾霭c
OP
  


ygq170063 发表于 2024-6-4 14:23
试试这个代码:
[mw_shl_code=python,true]import win32com.client as win32

谢谢你啦,不过还是不行的哩,保护之后依旧点不了筛选的箭头~
雾霭c
OP
  


bester 发表于 2024-6-4 13:12
所有的代码还有文档,都传一下

import win32com.client as win32
excel = win32.GetActiveObject("Excel.Application")
wb = excel.ActiveWorkbook
sheet = wb.ActiveSheet
sheet.Protect(AllowFiltering=True)
复制漏啦,这个才是哟
您需要登录后才可以回帖 登录 | 立即注册

返回顶部