Используйте CommandButton Collection для обновления шрифта на кнопках команд - PullRequest
0 голосов
/ 06 февраля 2020

Я хочу использовать vba, чтобы изменить шрифт всех командных кнопок ActiveX на нескольких листах. Я знаю, что шрифт можно обновить с помощью vba, потому что этот код сделает это за одну кнопку

Private Sub CommandButton49_Click()
CommandButton49.Font = "Arial Rounded MT Bold"
End Sub

Я видел на этом сайте способ получения коллекции

Dim MyShapes As OLEObjects
Dim btn As OLEObject
Dim cbtn As CommandButton

'OLE Programmatic Identifiers for Commandbuttons = Forms.CommandButton.1
Set MyShapes = ActiveSheet.OLEObjects
For Each btn In MyShapes
   If btn.progID = "Forms.CommandButton.1" Then
      btn.Object.Font = "Arial"
   End If
Next

, но этот код выдает ошибку времени выполнения 438. Объект не поддерживает это свойство или метод, что странно, потому что я могу использовать этот метод для отображения шрифта, т.е. msgbox btn.Object.Font будет отображать текущий шрифт.

Чего мне не хватает?

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