前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python: 判断某个Excel文件是否已打开

Python: 判断某个Excel文件是否已打开

作者头像
Exploring
发布2022-09-20 14:04:46
3K0
发布2022-09-20 14:04:46
举报
文章被收录于专栏:数据处理与编程实践

文章背景:在操作某个Excel文件时,有时想看看某个Excel文件是否已打开。下面提供两种自定义函数。

运行环境:Win10

编程语言:python3.7

(1)遍历法

代码语言:javascript
复制
import win32com.client

def fileisopen1(filepath):
    # 判断Excel文件是否已打开
    # 如果目标工作簿已打开则返回TRUE,否则返回FALSE
    excelapp = win32com.client.Dispatch("Excel.Application")
    flag = False

    num = excelapp.Workbooks.Count
    if num > 0:
        for i in range(1,num+1):
            realpth = excelapp.Workbooks(i).Path + "\\" + excelapp.Workbooks(i).Name
            if filepath == realpth:
                flag = True
                break
    return flag

导入win32com.client之前,需要提前安装pywin32第三方模块。可以通过pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pywin32进行安装。

如果已打开的Excel文件较多,则遍历法比较费时间,下面介绍试错法。

(2)试错法

代码语言:javascript
复制
import xlwings as xw

def fileisopen2(filepath):
    # 判断Excel文件是否已打开
    # 如果目标工作簿已打开则返回TRUE,否则返回FALSE
    flag = True
    if filepath == "":
        flag = False
    else:
        try:
            wb = xw.Book(filepath)
        except FileNotFoundError:
            flag = False
    return flag

导入xlwings之前,需要提前安装xlwings第三方模块。可以通过pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xlwings进行安装。

参考资料:

[1] 使用python判断excel文档是否打开

[2] Python 使用 win32com 模块对 word 文件进行操作(https://www.i4k.xyz/article/qdPython/114439716)

延伸阅读:

[1] VBA: 判断某个Excel文件是否已打开

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据处理与编程实践 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档