1

首先,我搜索并阅读了类似的线程,我尝试了提出的解决方案并解决了其他人的问题(主要在工作簿名称周围使用单引号),但在我的情况下它不起作用。

我想做的很简单:我想从 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

非常感谢。

4

1 回答 1

6

xlApp.Run 不是Application.Run

Application将引用 Access,而不是 Excel。

于 2012-08-20T19:26:11.510 回答