Set Shape .OnAction приводит к ошибке 1004: ошибка, определяемая приложением или объектом - PullRequest
1 голос
/ 17 июня 2020

Я все утро пытался решить эту ошибку и не могу с ней справиться. Похоже, Excel просто не хочет, чтобы я устанавливал свойство OnAction этой фигуры.

Фигура является частью группы других прямоугольников / текстовых полей.

Код работает на не сгруппированная фигура.

  • в книге нет заблокированного содержимого
  • нет внешних макросов или чего-то еще, обе функции в одном модуле
    Function Macro1()

    MsgBox (ActiveSheet.Shapes("box").OnAction)  'Returns the current OnAction string, as expected.

    ActiveSheet.Shapes("box").OnAction = "'WorksheetName'!Macro2"  '1004 error occurs here

    End Function

I Я пробовал установить для него значение «Macro2», «Macro2», сохраняя его как строку перед строкой OnAction, и даже просто пытался установить для него пустую строку «». Без кубиков.

1 Ответ

0 голосов
/ 17 июня 2020

РЕШЕНО. Форма группы мешает индивидуальным свойствам формы. Следующие действия помогут разбить группу, отредактировать форму, а затем перегруппировать:

Function Macro1()
    With ActiveSheet
        .Shapes("Home").Ungroup
        .Shapes("box").OnAction = "Macro2"
        With .Shapes.Range("box").Regroup
            .Name = "Home"
        End With
    End With
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...