Запретить изменение размера кнопок в листе Excel (VBA) - PullRequest
0 голосов
/ 23 декабря 2018

Я создал макрос, который добавляет две кнопки к каждому листу в моей книге.Я пытаюсь выяснить, как «заблокировать» кнопки (через VBA), чтобы пользователь не мог изменить размер, изменить текст и т. Д. Это кажется простой задачей, но по какой-то причине я не могу найти краткий ответ.Единственный код, который я нашел: .Placement = xlMove, однако, это не работает.

Вот текущий код кнопки:

Dim t1 As Range
Set t1 = ActiveSheet.Range(Cells(TwoDown, 6), Cells(TwoDown, 6))
Set btn1 = ActiveSheet.Buttons.Add(t1.Left, t1.Top, t1.Width, t1.Height)

With btn1
    .Placement = xlMove
    .OnAction = "Module32.btnF"
    .Caption = "Sort By Field Order"
     .Name = "Sort By Field Order"
End With

t1.Select
Application.ScreenUpdating = True

Заранее спасибо и счастливого Рождества!

1 Ответ

0 голосов
/ 23 декабря 2018

AFAIK, единственный способ сделать это - защитить лист с помощью DrawingObjects:=True и всеми другими опциями с False или True по желанию.

ws.Protect DrawingObjects:=True, Contents:=False, Scenarios:= _
        False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
        AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
        :=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
        AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
        AllowUsingPivotTables:=True

Обратите внимание, что вынеобходимо Unprotect лист, прежде чем пытаться добавить кнопки, если он уже защищен.


Примечание: : A Button также имеет Locked и LockedTextсвойство, но они действуют только , если рабочий лист защищен .Установка для них значения False позволяет редактировать кнопку, если для рабочего листа установлено значение в режиме конструктора (но все еще защищено).Как упоминалось ранее, я думаю, что единственный способ выполнить то, что вы ищете, это защитить лист.

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