Ошибка при запуске макроса из другого файла Excel - PullRequest
0 голосов
/ 26 июня 2019

У меня есть два файла Excel с поддержкой макросов в одном каталоге.Одним из них является SH.xlsm, в котором есть макрос, который должен запускать макрос в моем файле P.xlsm.Желательно, чтобы он мог запускать код без открытия книги P.xlsm.

Вот что у меня есть в файле SH.xlsm для запуска макроса с именем InsertImageTest в P.xlsm.

Private Sub Worksheet_Change(ByVal Target As Range)
    ' Call InsertImageTest
    codeWorkBookPath = "C:\Users\AsgeirA\OneDrive\Documents\PowerApps\Signature Signer\"
    codeWorkBookName = "P.xlsm"
    codeWorkBookFullPathName = UCase(Trim(codeWorkBookPath)) & UCase(Trim(codeWorkBookName))
    Debug.Print codeWorkBookFullPathName
    codeWorkbookAlreadyOpen = IsWorkBookOpen(codeWorkBookPath & codeWorkBookName)
    If Not codeWorkbookAlreadyOpen Then
        Workbooks.Open FileName:=codeWorkBookFullPathName, UpdateLinks:=False, ReadOnly:=True
    End If

    Workbooks("SH.xlsm").Activate
    Sheets("Data").Activate

    argString = "'" & Trim(codeWorkBookName) & "'!" & Trim("InsertImageTest")
    Application.Run argString
End Sub

Function IsWorkBookOpen(FileName As String)
    Dim ff As Long, ErrNo As Long

    On Error Resume Next
    ff = FreeFile()
    Open FileName For Input Lock Read As #ff
    Close ff
    ErrNo = Err
    On Error GoTo 0

    Select Case ErrNo
    Case 0:    IsWorkBookOpen = False
    Case 70:   IsWorkBookOpen = True
    Case Else: Error ErrNo
    End Select
End Function

Первая небольшая проблема с моим кодом заключается в том, что он открывает книгу P.xlsm.Вторая проблема заключается в том, что макрос «InsertImageTest» не запускается.Я просто открываю вторую рабочую книгу и отображаю это.

Run-time error '1004':

Cannot run the macro "P.xlsm'!InsertImageTest'. The macro may not be available in this workbook or all macros may be disabled.

1 Ответ

0 голосов
/ 26 июня 2019

Я провел некоторое исследование, и похоже, что новая версия Microsoft (16.0.11727.20188) вызывает проблему.Я могу предложить перейти на более раннюю версию, которая решит проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...