当前位置:首页 > 编程笔记 > 正文
已解决

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

来自网友在路上 176876提问 提问时间:2023-10-30 07:01:22阅读次数: 76

最佳答案 问答题库768位专家为你答疑解惑

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

xlwings 方式实现 更方便快捷

def close_excel_by_keyword(keyword):if '~$' in keyword:returnapp = xw.apps.activefor 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)
import win32com.client
import win32guidef 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.Workbooksfor workbook in workbooks:if keyword in workbook.Name:workbook.Close(False)except Exception as e:passtry:excel = win32com.client.GetActiveObject("Excel.Application")workbooks = excel.Workbooksprint(workbooks.Count)if workbooks.Count == 0:# 如果没有打开的工作簿,关闭 Excel.Applicationexcel.Quit()except:# 如果没有 Excel.Application 实例,不需要关闭passdef main():keyword = "tw"  # 替换为你要查找的关键字close_excel_by_keyword(keyword)if __name__ == "__main__":main()
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"close excel by keyword 根据关键字关闭 excel 窗口 xlwings 方式实现":http://eshow365.cn/6-27691-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!