[英]How to detect protected worksheet in excel workbook using Python xlwings?
[英]How to open and close an excel workbook in a python for loop using xlwings
我需要在 python for
循環中打開和關閉同一個工作簿,而不必保存工作簿。 我在xlwings
嘗試了以下xlwings
:
import xlwings as xw
for i in range(5):
print(i)
book = xw.Book()
book.app.quit()
然而,這只會在第一次迭代中運行。 在第二次迭代時,我收到一個錯誤:
Traceback (most recent call last):
File "D:/TEMP/SE/python/ref.py", line 5, in <module>
book = xw.Book('tree_template.xlsx')
File "C:\Users\aboufira\AppData\Local\Continuum\miniconda3\envs\SE\lib\site-packages\xlwings\main.py", line 533, in __init__
for wb in app.books:
File "C:\Users\aboufira\AppData\Local\Continuum\miniconda3\envs\SE\lib\site-packages\xlwings\main.py", line 374, in books
return Books(impl=self.impl.books)
File "C:\Users\aboufira\AppData\Local\Continuum\miniconda3\envs\SE\lib\site-packages\xlwings\_xlwindows.py", line 397, in books
return Books(xl=self.xl.Workbooks)
File "C:\Users\aboufira\AppData\Local\Continuum\miniconda3\envs\SE\lib\site-packages\xlwings\_xlwindows.py", line 313, in xl
self._xl = get_xl_app_from_hwnd(self._hwnd)
File "C:\Users\aboufira\AppData\Local\Continuum\miniconda3\envs\SE\lib\site-packages\xlwings\_xlwindows.py", line 222, in get_xl_app_from_hwnd
ptr = accessible_object_from_window(child_hwnd)
File "C:\Users\aboufira\AppData\Local\Continuum\miniconda3\envs\SE\lib\site-packages\xlwings\_xlwindows.py", line 190, in accessible_object_from_window
res = oledll.oleacc.AccessibleObjectFromWindow(
File "_ctypes/callproc.c", line 948, in GetResult
OSError: [WinError -2147467259] Unspecified error
為什么會出現這種情況? 如何讓 xlwings 退出應用程序而不引起任何問題?
您的代碼幾乎是正確的,請使用:
import xlwings as xw
for i in range(5):
print(i)
app = xw.App(visible=True)
book = xw.Book()
app.quit()
如果您想打開工作簿而不顯示它,也可以使用app = xw.App(visible=False)
。
使用它來滿足彈出窗口
app.display_alerts=假
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.