Управление отображением кнопок панели инструментов (Microsoft Excel)
Джоди находится в процессе разработки пользовательских кнопок панели инструментов и назначения им макросов. Она хочет, чтобы кнопки были включены всякий раз, когда виден хотя бы один рабочий лист, но пытается найти правильный код для обработки такой ситуации.
Есть много способов решить эту проблему, как можно было бы предположить в такой разнообразной среде, как Excel. Одно из возможных решений — создать процедуру, которая просто проверяет, есть ли на экране какие-либо видимые окна. Если есть, то кнопки панели инструментов могут быть включены; если нет, то их можно отключить. Следующий макрос сделает именно это:
Sub CheckButtons() Dim bOneOpen As Boolean Dim I As Integer Dim J As Integer bOneOpen = False For I = 1 To Workbooks.Count For J = 1 To Workbooks(I).Windows.Count If Workbooks(I).Windows(J).Visible Then bOneOpen = True Next J If bOneOpen Then Exit For Next I If bln Then 'enable buttons Else 'disable buttons End If End Sub
Обратите внимание на два комментария в нижней части макроса. Все, что вам нужно сделать, это заменить эти комментарии соответствующим кодом, чтобы включить или отключить кнопки панели инструментов. (Код будет отличаться в зависимости от количества и конфигурации ваших кнопок.)
Этот макрос можно вызвать вручную или из любого события, которое запускается изменениями окна, например, при открытии, изменении размера, минимизации, максимальном увеличении или восстановлении окон.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (2618) применим к Microsoft Excel 97, 2000, 2002 и 2003.