close excel by keyword 根据关键字关闭 excel 窗口 xlwings 方式实现

根据标题关键字关闭 workbook,如果没有打开的 workbook 则退出 excel

xlwings 方式实现 更方便快捷

python 复制代码
def close_excel_by_keyword(keyword):
    if '~$' in keyword:
        return
    app = xw.apps.active
    for workbook in app.books:
        if keyword in workbook.name:
            workbook.close()

file_list = os.listdir(mb51_dir)
    print('file list', file_list)
   
    while any('~$' in x for x in file_list):
        file_list = os.listdir(mb51_dir)
        for file in file_list:
            close_excel_by_keyword(file)
            time.sleep(1)
python 复制代码
import win32com.client
import win32gui

def close_excel_by_keyword(keyword):
    # 获取当前所有窗口的句柄
    hwnds = []
    win32gui.EnumWindows(lambda hwnd, param: param.append(hwnd), hwnds)

    # 遍历窗口句柄,查找包含关键字的 Excel 窗口并关闭
    for hwnd in hwnds:
        text = win32gui.GetWindowText(hwnd)
        if keyword in text:
            excel = win32com.client.Dispatch("Excel.Application")
            try:
                workbooks = excel.Workbooks
                for workbook in workbooks:
                    if keyword in workbook.Name:
                        workbook.Close(False)
            except Exception as e:
                pass

    try:
        excel = win32com.client.GetActiveObject("Excel.Application")
        workbooks = excel.Workbooks
        print(workbooks.Count)
        if workbooks.Count == 0:
            # 如果没有打开的工作簿,关闭 Excel.Application
            excel.Quit()
    except:
        # 如果没有 Excel.Application 实例,不需要关闭
        pass

def main():
    keyword = "tw"  # 替换为你要查找的关键字
    close_excel_by_keyword(keyword)

if __name__ == "__main__":
    main()
相关推荐
weixin_493503673 小时前
Vue3 前端生成 PDF:会员证书与活动签到表的三种打印方案与踩坑记录
前端·pdf·状态模式
tedcloud1234 小时前
Wand-Enhancer 怎么搭建?开源 Wand 客户端增强与远程控制工具介绍
大数据·服务器·人工智能·开源·音视频
医疗信息化王工5 小时前
DataForge:基于 Python 的数据库批量导出 Excel 工具——从架构到部署的全流程实战
数据库·python·excel
Emily156853598705 小时前
ABB CI867K01 3BSE043660R1
服务器·plc·dcs·abb·ci867k01·3bse043660r1·工控模块
Java陈序员6 小时前
轻量运维面板!一款现代化的服务器控制面板工具!
运维·服务器·python·react.js·github
尾善爱看海6 小时前
前端算法与手写题集
前端·算法
bosins6 小时前
WSL 迁移指南:如何将 Linux 环境完整复制到另一台电脑
linux·运维·服务器
徐小夕6 小时前
JitWord 4.0 万字分享:从协同工具到AI Word操作系统,聊聊3年产品创业史
前端·vue.js·后端
萧鼎8 小时前
Python 高性能Web框架神器 FastAPI:自动生成API文、基于Pydant、异步请求处理全搞定
前端·python·fastapi
snow@li8 小时前
服务器运维:Linux命令速查手册(全景梳理)
linux·服务器·网络