首先,我搜索并阅读了类似的主题,并且我尝试了所提出的解决方案并解决了其他人的问题(主要使用工作簿名称周围的单引号),但它在我的案例中没有用。 / p>
我想要做的很简单:我想从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
非常感谢。
答案 0 :(得分:6)
xlApp.Run
不是Application.Run
Application
将引用Access,而不是Excel。