【发布时间】:2012-08-20 19:17:52
【问题描述】:
首先,我搜索并阅读了类似的主题,并尝试了提出的解决方案并解决了其他人的问题(主要在工作簿名称周围使用单引号),但在我的情况下并没有奏效。
我想做的很简单:我想从 Access 调用 Excel 工作簿。工作簿已经打开(使用 VBA),所以这不是工作簿被关闭的问题。以下是我尝试运行宏的方式:
Application.Run "'" & xlWb.Path & "\" & xlWb.Name & "'" & "!mainParcourirTrouverItem"
结果:
'I:\47491\...\Trouver items global.xlsm'!mainParcourirTrouverItem
我尝试了一些变体,例如不使用完整路径(仅文件名)、不使用单引号、在子名称末尾添加括号...
另外,我仔细检查了子名称的拼写是否正确。我真的没看到:|
哦,只是为了提供上下文,这里是围绕此代码的完整子:
Private Sub Commande10_Click()
Dim xlApp As Excel.Application
Dim xlWb As Excel.Workbook
Set xlApp = New Excel.Application
With xlApp
.Visible = False
Set xlWb = .Workbooks.Open(FichierImportExcel, ReadOnly:=True)
End With
Application.Run "'" & xlWb.Path & "\" & xlWb.Name & "'" & "!mainParcourirTrouverItem"
' Call importer_transitsrubriques_Click
End Sub
非常感谢。
【问题讨论】:
-
我在自己的代码中使用
"'" & ThisWorkbook.Name & "'!SetMenu"。您是否尝试过只使用Application.Run "'" & xlWb.Name & "'" & "!mainParcourirTrouverItem",因为文件已经打开? (只需从调用中删除部分。)
标签: excel ms-access vba ms-access-2007