Прозрачная форма в VBA (регулировка прозрачности формы)

В данной статье собрано несколько примеров установки прозрачности форм (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), — то очень сложно.
В любом случае, с этим помочь не смогу.

А как сделать, чтобы только форма была прозрачна, а не элементы управления на ней

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
  ___   _        __        __  _   _   ___ 
|_ _| (_) ____ \ \ / / | \ | | |_ _|
| | | | |_ / \ \ /\ / / | \| | | |
| | | | / / \ V V / | |\ | | |
|___| |_| /___| \_/\_/ |_| \_| |___|
Введите код, изображенный в стиле ASCII-арт.

Не получается применить макрос? Не удаётся изменить код под свои нужды?

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