【发布时间】:2021-08-09 15:54:16
【问题描述】:
使用 python 3.9 这是我的 python 代码:
import win32com.client
from win32com.client import Dispatch
strDbName = 'S:\Public\Maintenance\MaintPMprototypev1_4.accdb'
objAccess = Dispatch("Access.Application")
objAccess.Visible = False
objAccess.OpenCurrentDatabase(strDbName)
objAccess.DoCmd.RunMacro('autoexport')
objAccess.Application.CloseCurrentDatabase()
objAccess.Application.Quit()
老实说,它今天早上工作,但后来我试图用任务计划程序运行它并为任务计划程序创建了一个批处理文件来运行,现在我收到了这个错误:
Traceback (most recent call last):
File "C:\Users\charlie.zigler\Desktop\autoexport.py", line 10, in <module>
objAccess.Visible = False
File "C:\Users\charlie.zigler\AppData\Local\Programs\Python\Python39\lib\site-packages\win32com\client\dynamic.py", line 592, in __setattr__
self._oleobj_.Invoke(entry.dispid, 0, invoke_type, 0, value)
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, None, 'You entered an expression that has an invalid reference to the property Visible.', 'dao360.chm', 2015567, -2146825833), None)
我已经备份了它,所以我删除了我创建的批处理文件并删除了 py 文件并复制并粘贴了备份的 py 文件并尝试过,但仍然出现相同的错误。有什么想法吗?
【问题讨论】:
-
你能在python之外运行宏吗? '您输入的表达式对属性 Visible 的引用无效。' 的错误部分是否提供了线索?这可能是 Access 的错误,而不是 python 的错误
-
重启后它又可以工作了,但是有人对如何让任务计划程序运行它有任何建议吗?
-
重启后...,你的意思是它只使用任务管理器运行一次?
-
我的意思是我重新启动了计算机,现在当我运行脚本时它又可以正常工作了。它打开访问,运行宏并按预期关闭。因此,不知何故,当我制作批处理文件以运行 py 脚本并告诉任务计划程序运行它时,它破坏了重新启动 Windows 修复的问题。
标签: python win32com taskmanager