簡體   English   中英

在Access VBA中運行Excel的VBA子

[英]Running VBA sub of Excel in Access VBA

我想在那一點上我已經閱讀了關於我的問題的一切,沒有什么能解決我的問題。

我需要運行嵌套在大excel中的vba代碼,它有很多工作表。 這個宏應該為我准備表格並隱藏在按鈕下面。 它位於工作表“Process”上。

在Access VBA中,我使用此代碼打開並運行此Excel vba代碼:

Dim fd As FileDialog, fileName As String

    Set fd = Application.FileDialog(msoFileDialogFilePicker)

    fd.AllowMultiSelect = False

    If fd.Show = True Then
        If fd.SelectedItems(1) <> vbNullString Then
            fileName = fd.SelectedItems(1)
        End If
    Else
        'Exit code if no file is selected
        End
    End If

    selectFile = fileName

    Dim appExcel As Excel.Application
    Dim myWorkbook As Excel.Workbook

    ' variables needed to open the macro in Excel
    Const MODULE_NAME As String = "Extraction_BDD"
    Const PROC_NAME As String = "extracteur"
    Dim appExcelMacro As String

    Set appExcel = CreateObject("Excel.Application")  
    Set myWorkbook = appExcel.Workbooks.Open(selectFile, True, False)

    appExcel.Visible = True
    Set appExcel = Nothing
    Set myWorkbook = Nothing
    ClasseurName = ActiveWorkbook.Name

    ' builds the string to send to Excel.Run method:
    appExcelMacro = ClasseurName & "!" & MODULE_NAME '& "." & PROC_NAME    
    appExcel.Run (appExcelMacro)

    ' Close workbook and save changes
    Workbooks(ClasseurName).Close SaveChanges:=False

End Sub

此命令“appExcel.Run(appExcelMacro)”應該完成這項工作,但什么都不做。 我不斷收到錯誤說:

“運行時錯誤'1004':

無法運行宏“MyWorkbook!Module_3.extracteur”。 宏可能在此工作簿中不可用,或者可能禁用所有宏“

這不是一個案例,因為在Excel中啟用了。 在Excel中按下按鈕后,宏工作正常。

那么,我做錯了什么? 黑客在哪里?

我找到了解決方案。 無法運行宏...此工作簿中可能無法使用該宏

文件名中的空格導致了問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM