python win+r时不成功_Python com错误(2147352562:'参数数目无效。\r\n')

在尝试使用Python的win32com.client模块调用Access数据库中的VBA宏时,遇到com错误2147352562,提示参数数目不正确。尽管在Excel VBA中相同代码可以正常工作,但在Python中执行时出现问题。已检查函数参数,包括日期、路径和布尔值,但问题依然存在。同时,尝试调用带有ss()子过程的方法也导致了类似错误。
摘要由CSDN通过智能技术生成

我在通过许多网站挖掘帮助。我觉得这个问题没有解决办法。所以我再问一次。在

我试图调用一个需要三个参数的(public)函数。我看到我在access中成功地连接到数据库import win32com.client

acApp = win32com.client.Dispatch('Access.Application')

acApp.OpenCurrentDatabase('C:/Access_Databases/MyDatabase.accdb')

acApp.Run("MyProject.ImportingRoutine", Date, LocalPath, Adtnl)

在最后一行之后,我得到:

“result=self.oleobj.InvokeTypes(*(dispid,LCID,wFlags,retType,argTypes)+参数)

com错误:(-2147352567,“发生异常。”,(0,无,无,无,0,-2147352562),无)”

注意:参数是格式为YYYYMMDD(int64)的日期,路径是指向本地存储库的字符串,“C:/…”,yes using“/”,如果需要,VBA宏将转换为“\”,最后一个是布尔参数(但我为False和True提供0或-1)。如果我从vba excel调用它,同样的代码也能很好地工作。在

com错误-2147352562是关于参数数目不正确(为什么?)。

Python似乎无法用参数运行microsoftaccessvba宏(函数)。在

我将用Python编写VBA中宏执行的更新,但我想知道我是否做错了什么。在

^{pr2}$

这就是我正在调用的函数。在

其他函数的标题是:Public Function ImportDailyAnalyticVector(ByVal DateDbl As Long, _

Path As String, _

Optional VectName As String = "VectorAnaliticoYYYYMMDD", _

Optional ByVal Zipped As Boolean = False, _

Optional ByVal Silent As Boolean = True, _

Optional ByVal AddDate As Boolean = False) As Variant

Public Function ReadingFieldNames(ByVal tblTarget As String, _

ByVal tblFieldNames As String)

Public Function ChangeAllFieldsType(tblTarget As String, _

tblAuxiliar As String, _

fldName As String, _

fldType As String, _

fldOrder As String, _

fldSize As String, _

Optional ExVT As Variant = "''", _

Optional NM_Bussiness_Dt As String = "Vect_Date", _

Optional New_Date As Long = 0)

最后两个函数是无参数的。最初,我设计数据库的想法是最终将其迁移到SAS系统。但是考虑到我所在部门的预算很小,我决定在2月初学习Python。考虑到Python中发现的(意想不到的)优势,我放弃了SAS选项。数据库中的变量非常标准,只是在使用特殊字符时加下划线“u”。在

顺便说一下,我做了以下功能:Sub ss()

Call ImportingRoutine(20160908, _

"C:/Asset_Controlling/Repository/PIP/Vectores_Analiticos/2016/", 0)

End Sub

然后我试着打电话:acApp.Run("MyProject.ss")

但是这个也会产生同样的com错误。很容易知道Python达到了VBA代码。如果我想跑:acApp.Run("MyProject.ss()")

新错误为:

com错误:(-2147352567,“发生异常。”,(0,无,“Microsoft Access找不到过程”我的项目.ss()。“,无,-1,-2146825771),无)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值