- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我试图每分钟访问 Excel 工作簿以保存当前从不同程序显示的数据。当调度程序访问工作簿时,我收到“OSError:[WinError -2147467259]未指定错误”。有任何修复/解决方法吗?任何帮助将不胜感激,谢谢!
from apscheduler.schedulers.blocking import BlockingScheduler
from apscheduler.triggers.combining import OrTrigger
from apscheduler.triggers.cron import CronTrigger
import xlwings as xw
def tick():
wb= xw.Book('currently_open_workbook.xlsx')
sched = BlockingScheduler()
trigger = OrTrigger([
CronTrigger(day_of_week='mon-fri', hour='0-16', second=0),
CronTrigger(day_of_week='sun', hour='17-23', second=0)
])
sched.add_job(tick, trigger)
sched.start()
完整的错误在这里
Traceback (most recent call last):
File "C:\Users\eric\anaconda3\envs\untitled\lib\site-packages\apscheduler\executors\base.py", line 125, in run_job
retval = job.func(*job.args, **job.kwargs)
File "C:/Users/eric/PycharmProjects/untitled/blank.py", line 8, in tick
wb= xw.Book('currently_open_workbook.xlsx')
File "C:\Users\eric\anaconda3\envs\untitled\lib\site-packages\xlwings\main.py", line 472, in __init__
for wb in app.books:
File "C:\Users\eric\anaconda3\envs\untitled\lib\site-packages\xlwings\main.py", line 358, in books
return Books(impl=self.impl.books)
File "C:\Users\eric\anaconda3\envs\untitled\lib\site-packages\xlwings\_xlwindows.py", line 374, in books
return Books(xl=self.xl.Workbooks)
File "C:\Users\eric\anaconda3\envs\untitled\lib\site-packages\xlwings\_xlwindows.py", line 302, in xl
self._xl = get_xl_app_from_hwnd(self._hwnd)
File "C:\Users\eric\anaconda3\envs\untitled\lib\site-packages\xlwings\_xlwindows.py", line 218, in get_xl_app_from_hwnd
ptr = accessible_object_from_window(child_hwnd)
File "C:\Users\eric\anaconda3\envs\untitled\lib\site-packages\xlwings\_xlwindows.py", line 189, in accessible_object_from_window
byref(IDispatch._iid_), byref(ptr))
File "_ctypes/callproc.c", line 918, in GetResult
OSError: [WinError -2147467259] Unspecified error
最佳答案
这并不是真正的解决方案,而是一种解释。我认为问题在于 APScheduler 使用线程,并且 xlwings 对象无法直接在线程中传递,请参阅:http://docs.xlwings.org/en/stable/threading.html
它可能可以用这样的东西来解决:https://stackoverflow.com/a/27966218/918626但目前 xlwings 没有任何开箱即用的功能。
关于python - 通过 APScheduler 作为计划任务运行时,XLWings 无法连接到 Excel 工作簿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53837480/
我很难找到这个问题的答案 - 我正在编写一些简单的 VBA,目的是让我的同事可以将其安装为插件或自定义选项卡。来自 Python,当然,我更喜欢使用 xlwings 或 pyxll,但据我了解,为了调
我正在尝试通过 xlwings 导入用户定义的函数 (UDF),但遇到了问题。按下 xlwings 功能区中的导入函数按钮后,我收到以下运行时错误: `Run_time error '1004 `Me
我正在尝试执行两个操作:1)使用xlwings检查工作簿中是否存在工作表2) 使用变量名来激活使用 xlwings 的工作表。 工作表名称是一个变量,所以我不能使用 sheets[0] 选项或 she
我正在尝试使用 xlwings 将 Python 链接到 Excel。取得了很好的成功,但我无法链接到已经打开(和修改过)的 Excel 工作簿。所以工作簿已经在 Excel 中打开,我想链接到该工作
我需要迭代一堆 Excel 工作簿并从每个工作簿中获取一个值并将该值粘贴到一个新工作簿中,因此基本上将一堆 Excel 工作簿的结果合并到一个工作簿中。我的脚本现在运行的方式是将值复制并粘贴回原始工作
我想要实现的是扩展当前 Excel 表单中表格的长度(而不是附加到整个电子表格的底部),同时不替换表格下方的内容。 为此,我想要插入新行(例如在第 30 行)。 如何使用 xlwings 做到这一点?
我在 Windows 上使用 xlwings。我获取单元格的值并希望指示消息框。 import xlwings as xw import win32ui def msg_box(): wb =
在 Excel 单元格中,我调用函数 fff(DATE(2001,1,1))。为了接收日期参数,我使用(xlwings 0.10.0)以下代码: @xw.func @xw.arg('req_date'
如何从 Excel 中选择不带标题的整列? 例如,当我尝试以下代码时,它会选择包括标题在内的整个列: 将 xlwings 导入为 xw wb = xw.Book.caller()wb.sheets[0
我有一个已定义名称的 Excel,单元格 A1 已分配名称“myName”,xlwings 有没有办法从其名称而不是坐标中获取其内容? 应该是一样的 title, coord = next(w
有什么方法可以避免在使用 xlwings 时打开文件? 我听说一年前有更新,但我不知道问题是否已经解决。 最佳答案 从 0.10.4 版开始,xlwings 纯粹是通过正在运行的 Excel 实例来操
我正在尝试找出如何在写入后使用 xlwings 保存和关闭现有工作簿: import xlwings as xw list_of_values = [1, 2, 3] workbook_path =
我正在使用 xlwings 开发一个新项目,我想知道是否以及如何访问和/或设置工作簿的命名范围的名称。 我知道我们可以使用 Range() 函数访问命名范围,但是是否可以获取特定工作簿(例如调用者)的
我一直在尝试将一些列表写入工作簿上的某个工作表,但没有成功。我的代码是: import xlwings as xw from xlwings import Range from xlwings imp
我正在尝试查找包含数据的列中的最后一行。替换 vba 函数:LastRow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row 我正在尝试这个,但这会拉入 E
我在这个网站上的第一个问题。 我在 python 2.7 中使用 xlwings。我想将“A1:A6”范围内的值从 Sheet1 复制到 Sheet2 中的单元格“A1:A6”。我的代码如下: > m
使用Python加载最新的Excel读取类库xlwings可以说是Excel数据处理的利器,但使用起来还是有一些注意事项,否则高大上的Python会跑的比老旧的VBA还要慢。 这里我们对比一下,用
1、需求: 某公司管理的多个资管计划每天生成A表,业务人员需手工打开每个A表,将某些行、列删除后方可打印上报。 现拟采用程序代替手工操作。 2、分析: 1、应在原始文件的副本上
我正在使用来自 xlwings 的 excel 文件,我想从代码中更改每个单元格的宽度和高度,理想情况下是创建一个完美的正方形,这可能吗? 在文档中,我在使用范围时发现了一个高度属性: ws1.ran
我已使用 xlwings 将数据框导出到 Excel,并尝试将其格式化为表格。我想应用“无”样式,但不知道如何指定“无”。 这条线有效: table = sheet.tables.add(source
我是一名优秀的程序员,十分优秀!