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()
相关推荐
FIN666811 分钟前
昂瑞微:以射频“芯”火 点亮科技强国之路
前端·人工智能·科技·前端框架·智能
携欢24 分钟前
PortSwigger靶场之Exploiting server-side parameter pollution in a REST URL通关秘籍
前端·javascript·安全
是良辰26 分钟前
Linux 服务器NFS文件共享
运维·服务器
沐浴露z35 分钟前
【深入理解计算机网络11】应用层详解:DNS,WWW,HTTP
服务器·网络协议·计算机网络·http
鹏多多37 分钟前
今天你就是VS Code之神!15个隐藏技巧让代码效率翻倍
前端·程序员·visual studio code
迎風吹頭髮37 分钟前
Linux服务器编程实践22-TCP头部选项解析:MSS、窗口扩大因子与SACK
服务器·网络·tcp/ip
Net_Walke39 分钟前
【Linux系统】系统编程
linux·运维·服务器
linksinke1 小时前
html案例:制作一个图片水印生成器,防止复印件被滥用
开发语言·前端·程序人生·html
寒月霜华1 小时前
JavaWeb-html、css-网页正文制作
前端·css·html
啊吧怪不啊吧1 小时前
初识SQL
服务器·数据库·sql