Получение ошибки 1004 с использованием OnAction в форме - PullRequest
1 голос
/ 15 октября 2019

Я искал большую часть этой ошибки и не мог найти решение, получая следующую ошибку:

Ошибка 1004 определения приложения или объекта

Используя следующий код:

Sheets("sheet1").Shapes(shapeName).OnAction = macroName
  • все это в простой рабочей тетради с одним листом.
  • любые внешние макросы
  • лист / форма не заблокированы
  • shapeName и macroName - простые строки

Дополнительная информация:

Call SetButtonActive("get_quest_1", "GetQuest")

Function SetButtonActive(shapeName As String, macroName As String)
    Sheets("sheet1").Shapes(shapeName).OnAction = macroName
    Sheets("sheet1").Shapes.Range(Array(shapeName)).ShapeStyle = msoShapeStylePreset41
    With Sheets("sheet1").Shapes.Range(Array(shapeName)).Line
        .Visible = msoTrue
        .ForeColor.ObjectThemeColor = msoThemeColorText1
        .ForeColor.TintAndShade = 0
        .ForeColor.Brightness = 0
        .Transparency = 0
    End With
End Function

1 Ответ

0 голосов
/ 15 октября 2019

MacroName должно быть в кавычках, сработало следующее:

Sub TestMe()
    ThisWorkbook.Worksheets(1).Shapes(1).OnAction = "MacroName"
End Sub

Sub MacroName()
    Debug.Print "TEST"
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...