我做了一个工具,让我的同事打开我们经常使用的Excel文件。有时同事只需要将其打开为只读。如果我使用os.startfile(),而没有其他人打开过这个文件,那么你将以Writeable打开这个文件,但是下一个人只能以ReadOnly打开这个文件。我希望他们有一个选项,以打开文件为只读,无论它是否已经开放或没有。我知道Excel有一个选项可以以只读方式打开文件。也许可以用Python实现这个选项?
我在谷歌上搜索过,但我发现的最多的东西是关于在openpyxl或xlwings中阅读excel文件的。但是没有找到任何关于使用os.startfile()以只读方式打开它的信息。有没有人能帮我找到正确的答案?
1条答案
按热度按时间92dk7w1h1#
使用
/r
开关,Excel将以只读方式启动电子表格,例如excel.exe /r "c:\My Folder\book1.xlsx"
https://support.microsoft.com/en-us/office/command-line-switches-for-microsoft-office-products-079164cd-4ef5-4178-b235-441737deb3a6#Category=Excel
不要将电子表格的文件名作为第一个参数传递给
os.startfile
,而是将Excel
传递给它,然后传递正确的参数使其只读,然后是用双引号括起来的文件名。这与在Windows命令提示符中输入
start Excel /r "C:\spreadsheet file 1.xlsx"
相同。或者,您可以手动获取Excel的路径,并使用
winreg
和subprocess.Popen
使用正确的参数运行它: