В данной статье собрано несколько примеров установки прозрачности форм (UserForm)
Во всех файлах для установки прозрачности используется WinAPI функция SetLayeredWindowAttributes
Примеры взять с форума ПланетаExcel, и немного переработаны.
Прозрачность форм можно задавать в широком диапазоне - от 0 (полностью прозрачная форма) до 255 (непрозрачная)
Также добавлен пример установки прозрачности самого Excel:
(перед запуском формы, окно Excel плавно «расстворяется» (исчезает), а после закрытия формы также плавно появляется вновь)
Sub ПлавноеИзменениеПрозрачностиExcel() hWnd& = GetActiveWindow ' hWnd приложения Excel Dim prozr As Long ' в течение нескольких секунд, постепенно делаем Excel прозрачным For prozr = 255 To 0 Step -4 DoEvents SetTransparent hWnd&, prozr ' изменяем прозрачность Excel Next UserForm1.Show ' отбражаем модальную форму ' в течение нескольких секунд, постепенно делаем Excel снова видимым For prozr = 0 To 255 Step 4 DoEvents SetTransparent hWnd&, prozr ' изменяем прозрачность Excel Next SetVisible hWnd&, 255 ' восстанавливаем видимость Excel End Sub
Комментарии
Здравствуйте, Константин.
Если это и возможно сделать (в чём я сомневаюсь, т.к. элементы управления на форме VBA не имеют hWnd), — то очень сложно.
В любом случае, с этим помочь не смогу.
А как сделать, чтобы только форма была прозрачна, а не элементы управления на ней
Отправить комментарий