Introduction

Introducing UserForm Extensibility for Excel

Add UserForm Extensibility to your Projects via Extensibility Classes for Excel 2016 (32bit or 64bit, Version 16) · Build Beautiful, Modern UserForms for Excel

If you want to add some additional UserForm Extensibility to your Project then these small Classes are a must. The 'UserFormExtensibility' imports other Class Objects like 'SystemMetrics', 'SystemTiming' and 'Easing' to make extending your UserForms Methods easy - you only need to add tiny amounts of Code to do some 'big' things; of course, a little imagination helps too...

You want a UserForm without a Caption, but need a Border with Rounded Corners? Want to design one like the UserForm below? Sure you can do this with a couple of Calls using the '.RemoveCaptionAndBorders' and '.RoundBorderCorners' Methods followed by a couple of Labels and some Image Controls. UserForm Extensibility is declared at the top of any UserForm Code Module like this 'Private Self As New UserFormExtensibility'. After which, each UserForm can be 'Assigned' to the Class via 'Set Self.Assign = Me' in the 'UserForm_Initialize()' Subroutine. From here you have all of the power and functionality via the interface with the minimum of coding - create Non-standard UserForms Shapes with Transparency & Opacity or simple Borderless UserForms with Rounded Corners. New for version 1.8, create Scaled UserForms and change the Mouse Cursor for UserForm Objects. New for version 2, add a Drop Shadow to your modified userForms and 'Skin' a UserForm/Dialog!

You are purchasing version UserForm Extensibility v2 which includes the Windows 11 fix and the latest Drop Shadow extensibility


 

 

If you love UserForm Extensibility, you may also like any of the following Software. Boho MP3 Player uses UserForm Extensibility as the interface for all of its dialogs


Boho MP3 Player ·  Mint UserForm ·  Slate UserForm ·  Lightbox UserForm ·  Dark UI ·  Blue UI ·  Carbon UI ·  UserFOrm UI ·  BoX ·  Flat UI ·  UserForm Slider Buttons

Prerequisites

  • Microsoft Excel 2016 Version 16 (32bit or 64bit) · designed for Office 365 Windows 11
  • Basic to moderate Excel Skills and some basic VBA skills to import UserForms and write basic code
  • Windows PC · NOT a Mac!
  • No support is provided for customization of this Software

Features

  • Self.RemoveCaption, Self.RemoveCaptionAndBorders - remove the Caption and/or Borders from a UserForm
  • Self.RoundCorners, Self.RoundBorderCorners - round the UserForm Corners with/without a Border
  • Self.AllowDrag - creates a draggable UI Interface, move the UserForm around with the Mouse
  • Use with both Modal or Modeless UserForms
  • Use the Escape Key {ESC} to exit (for some examples)
  • Use ontop of a White or Black Lightbox (included with the purchased file)
  • Bespoke Minified Classes included in this Project: Easing, Lightbox, SystemMetric, SystemTiming and UserFormExtensibility
  • Animations now take place wherever the UserForm is dragged around on the Excel Window
  • Create a borderless Splash Screen with Rounded Corners that presents itself ontop of the main Excel Splash Screen
  • Create Non-standard UserForms Shapes with both Transparency Areas and Opacity. This allows you to create Shapes in Affinity, Photoshop, Gimp or Inkscape and then use them to create a non-standard looking UserForm that can be an Image with / without a Border, depending on how you design it
  • Works with Windows 11
  • Use the Scaling Class to Scale and Resize UserForm Controls with Caveats for Images
  • New in Version 2 - add a Drop Shadow to UserForms (without the Drag capability), Modeless or Modal
  • New in Version 2 - I detail exactly how to create a Dialog Skin from a Free PSD File using Affinity Designer and Photoshop and show you in Example 29. See the image below:

 

 

 

 

 

 

 





 





Installation

Open UserFormExtensibility.xlsm and test the Examples. To use UserForm Extensibility in your own Projects open UserFormExtensibility.xlsm and your own Macro-enabled Project. Then open the VBE (Visual Basic Editor) and drag the 3 Classes and any of the UserForms (if required, you can also use your own) into your Project. Add and configure any of the Examples to use the Code


Usage

How to use UserForm Extensibility


Examples
On the 'Example' Sheet you will find all of the UserForm Extensibility examples. The VBA Code used for all of these examples is in the Example, Worksheet Code Module

The following examples are available - Please Note: not all of the examples in the purchased File are detailed in the additional information that follows this list - you will have to purchase the Software to find out more ;)
1. Draggable UserForm without Caption
2. Draggable UserForm without Caption and Borders
3. Draggable UserForm without Caption in White with a Single Slate Coloured Border
4. Draggable UserForm without Caption and Borders with Rounded Corners
5. Draggable UserForm without Caption in White with a Single Slate Coloured Border and Rounded Corners
6. Draggable UserForm without Caption in ButtonFace with a Single Slate Coloured Border and is Destroyed whenever another Worksheet is selected or Created
7. Animated Error (Bug) Modal UserForm demonstrating the Easing Functionality, Escape {ESC} to exit
8. Animated UserForm ontop of a White Lightbox that is set to Fit Excel
9. Animated UserForm ontop of a Black Lightbox that is set to Fit Excel
10. Animated UserForm ontop of a Black Lightbox that is set to Fit to Screen 
11. A 2-Step Lightbox Effect using different Easing for the Lightbox and the UserForm
12. Add Minimise and Maximise Buttons to a UserForm
13. A new Dialog Styled ontop of a Black Lightbox

1. Draggable UserForm without Caption
To bring up a Draggable UserForm without Caption from a click on an Icon, Button or Shape Object, link a Macro ie. Example1() to your Icon (or Object) and then in a UserForm Code Module, configure the Code below. In any Standard Code Module Show the UserForm like this 'UserForm1.Show 0' for a Modelsss UserForm or 'UserForm1.Show 1' for a Modal UserForm. Please note: a UserForm_DblClick() EVent Handler is added purely so that you can close the UserForm
Option Explicit

Private Self As New UserFormExtensibility

Private Sub UserForm_Initialize()
   Set Self.Assign = Me
   Self.RemoveCaption
End Sub

Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
   Self.AllowDrag
End Sub

' only used for the Demo
Private Sub UserForm_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
   Unload Me
End Sub


2. Draggable UserForm without Caption and Borders
To bring up a Draggable UserForm without Caption and Borders from a click on an Icon, Button or Shape Object, link a Macro ie. Example1() to your Icon (or Object) and then in a UserForm Code Module, configure the Code below. In any Standard Code Module Show the UserForm like this 'UserForm1.Show 0' for a Modelsss UserForm or 'UserForm1.Show 1' for a Modal UserForm. Please note: a UserForm_DblClick() EVent Handler is added purely so that you can close the UserForm
Option Explicit

Private Self As New UserFormExtensibility

Private Sub UserForm_Initialize()
   Set Self.Assign = Me
End Sub

Private Sub UserForm_Activate()
   Self.RemoveCaptionAndBorders
End Sub

Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
   Self.AllowDrag
End Sub

' only used for the Demo
Private Sub UserForm_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
   Unload Me
End Sub

3. Draggable UserForm without Caption in White with a Single Slate Coloured Border
To bring up a Draggable UserForm without Caption in White with a Single Slate Coloured Border from a click on an Icon, Button or Shape Object, link a Macro ie. Example1() to your Icon (or Object) and then in a UserForm Code Module, configure the Code below. In any Standard Code Module Show the UserForm like this 'UserForm1.Show 0' for a Modelsss UserForm or 'UserForm1.Show 1' for a Modal UserForm. Please note: a UserForm_DblClick() EVent Handler is added purely so that you can close the UserForm

Additional changes made to the UserForm:
- the UserForm BackColor is set to &H00FFFFFF&
-The BorderStyle of the UserForm is set to fmBorderStyleSingle
-The BorderColor is set to &H0048423C&
Option Explicit

Private Self As New UserFormExtensibility

Private Sub UserForm_Initialize()
   Set Self.Assign = Me
End Sub

Private Sub UserForm_Activate()
   Self.RemoveCaptionAndBorders
End Sub

Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
   Self.AllowDrag
End Sub

' only used for the Demo
Private Sub UserForm_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
   Unload Me
End Sub

4. Draggable UserForm without Caption and Borders with Rounded Corners
To bring up a Draggable UserForm without Caption and Borders with Rounded Corners from a click on an Icon, Button or Shape Object, link a Macro ie. Example1() to your Icon (or Object) and then in a UserForm Code Module, configure the Code below. In any Standard Code Module Show the UserForm like this 'UserForm1.Show 0' for a Modelsss UserForm or 'UserForm1.Show 1' for a Modal UserForm. Please note: a UserForm_DblClick() EVent Handler is added purely so that you can close the UserForm
Option Explicit

Private Self As New UserFormExtensibility

Private Sub UserForm_Initialize()
   Set Self.Assign = Me
End Sub

Private Sub UserForm_Activate()
   Self.RemoveCaptionAndBorders
   Self.RoundCorners
End Sub

Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
   Self.AllowDrag
End Sub

' only used for the Demo
Private Sub UserForm_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
   Unload Me
End Sub

5. Draggable UserForm without Caption in White with a Single Slate Coloured Border and Rounded Corners
To bring up a Draggable UserForm without Caption in White with a Single Slate Coloured Border and Rounded Corners from a click on an Icon, Button or Shape Object, link a Macro ie. Example1() to your Icon (or Object) and then in a UserForm Code Module, configure the Code below. In any Standard Code Module Show the UserForm like this 'UserForm1.Show 0' for a Modelsss UserForm or 'UserForm1.Show 1' for a Modal UserForm. Please note: a UserForm_DblClick() EVent Handler is added purely so that you can close the UserForm

Additional changes made to the UserForm:
- the UserForm BackColor is set to &H00FFFFFF&
-The BorderStyle of the UserForm is set to fmBorderStyleSingle
-The BorderColor is set to &H0048423C&
Option Explicit

Private Self As New UserFormExtensibility

Private Sub UserForm_Initialize()
   Set Self.Assign = Me
End Sub

Private Sub UserForm_Activate()
   Self.RemoveCaptionAndBorders
   Self.RoundBorderCorners
End Sub

Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
   Self.AllowDrag
End Sub

' only used for the Demo
Private Sub UserForm_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
   Unload Me
End Sub

6. Draggable UserForm without Caption in ButtonFace with a Single Slate Coloured Border and is Destroyed whenever another Worksheet is selected or Created
To bring up a Draggable UserForm without Caption in ButtonFace with a Single Slate Coloured Border and is Destroyed whenever another Worksheet is selected or Created from a click on an Icon, Button or Shape Object, link a Macro ie. Example1() to your Icon (or Object) and then in a UserForm Code Module, configure the Code below. In any Standard Code Module Show the UserForm like this 'UserForm1.Show 0' for a Modelsss UserForm or 'UserForm1.Show 1' for a Modal UserForm. Please note: a UserForm_DblClick() EVent Handler is added purely so that you can close the UserForm

Additional changes made to the UserForm:
-The BorderStyle of the UserForm is set to fmBorderStyleSingle
-The BorderColor is set to &H0048423C&
Option Explicit

Private Self As New UserFormExtensibility

Private Sub UserForm_Initialize()
   Set Self.Assign = Me
End Sub

Private Sub UserForm_Activate()
   Self.RemoveCaptionAndBorders
   Self.UnloadOnDeactivate = True
End Sub

Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
   Self.AllowDrag
End Sub

' only used for the Demo
Private Sub UserForm_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
   Unload Me
End Sub

7. Animated UserForm demonstrating the Easing Functionality
To bring up an Animated UserForm for Version 1.1 I have added in an 'Easing' Class Code Module, a .Tweener() Method and a .Tween() Function. I have also added a Top Bar from an Image, a Bug Icon and 2 Button Images - all of these are included in the download. The Code below is the full Code required for the Demo

Additional changes made to the UserForm:
-The BorderStyle of the UserForm is set to fmBorderStyleSingle
-The BorderColor is set to &H00BDBDBD&
Option Explicit

Private Self As New UserFormExtensibility

Private Sub UserForm_Initialize()
   Set Self.Assign = Me
   Self.MoveOffScreen
End Sub

Private Sub UserForm_Activate()
   Self.RemoveCaptionAndBorders
   Self.RoundBorderCorners

   Set Self.Tweener = Me
   Self.Tween
End Sub

Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
   Self.AllowDrag
End Sub

Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
   If KeyAscii.value = 27 Then
      Self.Tween False
      Unload Me
   End If
End Sub

Private Sub OKButtonHovered_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
      Self.Tween False
      Unload Me
End Sub

Public Sub OKButton_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
      Me.OKButtonHovered.Visible = True
      Me.OKButton.Visible = False
End Sub

Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
   Me.OKButtonHovered.Visible = False
   If Me.OKButton.Enabled = True Then Me.OKButton.Visible = True
End Sub

8. Animated UserForm ontop of a White Lightbox that is set to Fit Excel
This is a Demo of overlaying the UserForm ontop of a an Easing Lightbox avaialable via the Extensibility Interfaces (Classes). Both the Subroutine used to create the Effect and the UserForm Code is shown below. As I am using this as an Error Message I wrote the Subroutine to trap Errors - you can see I try to set a String to an Integer which creates the Error. WHen adding the Lightbox, a little more Code is required in the UserForm Code Module:

' Subroutine - Animated UserForm ontop of a White Lightbox that is set to Fit Excel
Public Sub Example8()
   On Error GoTo Catch

   Dim Effect As Lightbox
   Set Effect = New Lightbox

   Effect.TransitionIn FitToExcel, easeOutSine, 160

   '@Ignore IntegerDataType, VariableNotUsed
   Dim i As Integer
   i = "foobar"

Try:
   Effect.TransitionOut easeOutSine, 160
   Exit Sub

Catch:
   With UserForm8
      .Width = 340
      .Height = 120
      .Message.Caption = "Oops, an error has occurred!"
      .InformativeMessage.Caption = "The error no. was " & Err.Number & " and the error was " & Err.Description
      .Show 1
   End With
   Resume Try
End Sub
          
' UserForm Code          
Option Explicit

Private Self As New UserFormExtensibility
Private PEasingType As TEasing

Public Property Get EasingType() As TEasing: EasingType = PEasingType: End Property
Public Property Let EasingType(value As TEasing): PEasingType = value: End Property

Private Sub UserForm_Initialize()
   Set Self.Assign = Me
   Self.MoveOffScreen
   EasingType = easeBackInQuartic
End Sub

Private Sub UserForm_Activate()
   Self.RemoveCaptionAndBorders
   Self.RoundBorderCorners

   Set Self.Tweener = Me
   Self.Tween True, EasingType
End Sub

Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
   Self.AllowDrag
End Sub

Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
   If KeyAscii.value = 27 Then
      Self.Tween False, EasingType
      Unload Me
   End If
End Sub

Private Sub OKButtonHovered_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
   Self.Tween False, EasingType
   Unload Me
End Sub

Public Sub OKButton_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
   Me.OKButtonHovered.Visible = True
   Me.OKButton.Visible = False
End Sub

Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
   Me.OKButtonHovered.Visible = False
   If Me.OKButton.Enabled = True Then Me.OKButton.Visible = True
End Sub

Lots more Demos include:

9. Animated UserForm ontop of a Black Lightbox that is set to Fit Excel
10. Animated UserForm ontop of a Black Lightbox that is set to Fit to Screen
11. A 2-Step Lightbox Effect using different Easing for the Lightbox and the UserForm
12. Add Minimise and Maximise Buttons to a UserForm. Add Code to the 'UserForm_Activate()' Event Handler. Example Code shown below:
Option Explicit

Private Self As New UserFormExtensibility

Private Sub UserForm_Initialize()
   Set Self.Assign = Me
End Sub

Private Sub UserForm_Activate()
   Self.AddMinimiseButton
   Self.AddMaximiseButton
End Sub
13. A new Dialog Styled ontop of a Black Lightbox
14. A Splash Screen for Excel
15. Making a UserForm with Transparent Affinity - Object Designed in Affinity with Red Layer RGB(255, 0, 0) as Long value and then 2 Shapes (Insert as Picture in Worksheet)
16. Making a UserForm with Transparent Affinity - Object Designed in Affinity with Red Layer RGB(255, 0, 0) as Long value and then 2 Shapes (Load directly into UserForm)
17. Making a UserForm with Transparent Inkscape - Object Designed in Inkscape with Red Background Square RGB(255, 0, 0) as Long value and then 2 Shapes with 0 Stroke and No Paint Stroke (or you can use Stroke set to 1px same Colour as each Shape)
18. Hotels example of a Transparent Non-standard UserForm Shape
19. Geek Logo UserForm. Sharp Edges, Curves, Missing parts don't look so good
20. Rescale the UserForm to 80% within the Example Subroutine using the Scaling Class (caution: Image quality can be lost and images may appear distorted)
21. Rescale the UserForm to 80% using the Extensibility (caution: Image quality can be lost and images may appear distorted)
22. Changing the Cursor. A Hand Cursor will appear when you hover over the Image and Button Controls
23. Add a Drop Shadow to your UserForms in the 'UserForm_Initialize()' Event Handler. Example 1. Click on and off for the Modeless UserForm and double-click to exit as usual. You MUST remove the Drop Shadow if you Unload the UserForm or it will persist. Example Code below:
Option Explicit

Private Self As New UserFormExtensibility

Private Sub UserForm_Initialize()
   Set Self.Assign = Me
   Self.RemoveCaption
   Self.AddDropShadow
End Sub

Private Sub UserForm_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
   Self.RemoveDropShadow
   Unload Me
End Sub
24. Add a Drop Shadow to your UserForms. Example 2, UserForm without Caption and Borders
25. Add a Drop Shadow to your UserForms. Example 3, UserForm without Caption in White with a Single Slate Coloured Border
26. Add a Drop Shadow to your UserForms. Example 4, UserForm without Caption and Borders with Rounded Corners
27. Add a Drop Shadow to your UserForms. Example 5, UserForm without Caption in White with a Single Slate Coloured Border and Rounded Corners. Escape {ESC} to exit
28. Add a Drop Shadow to your UserForms. Example 6, similar to Example 5 but as a Modal Dialog. UserForm without Caption in White with a Single Slate Coloured Border and Rounded Corners. Escape {ESC} to exit
29. Skinning a Dialog. Here I have created a Dialog from a Widget in a Free PSD File in Affinity Designer

Screeen Shots

Version 2. Skinning a Dialog - here I detail exactly how to create a Dialog Skin from a Free PSD File using Affinity Designer and Photoshop

 

Version 2. Skinning a Dialog - a second Skin from a Free PSD File using Affinity Designer and Photoshop

 

Changing the Cursor to a Hand or No Entry using the Extensibilty Class

 

A Bug, Error UserForm I designed using this Software - see Example 7

 

The main UserForm Extensibility Example Sheet - I have included the Bug Icon, the Bar and the Button Images I created for Example 7

 

A Screenshot of a UserForm with its Caption removed

A UserForm with its Caption removed and a Drop Shadow

A Screenshot of a UserForm with its Caption and Borders removed

A UserForm with its Caption and Borders removed, together with a Drop Shadow

A Screenshot of a UserForm with its Caption removed and a Border with Round Corners

A Screenshot of a UserForm with its Caption removed and a Slate Border, together with a Drop Shadow

A Screenshot of a UserForm with its Caption removed and a Border with Round Corners, together with a Drop Shadow

A Screenshot of a White UserForm with its Caption removed and a Slate Border with Round Corners, together with a Drop Shadow

An Animated UserForm ontop of a White Lightbox

A New Confirmation Dialog for v1.4 ontop of a Black Lightbox

A Splash Screen

An Image with Transparency (Red) and 2 Shapes Designed in Affinity Inserted into the Worksheet and then Copied into the Picture Member of the UserForm (Has a Border after inserting into the Worksheet as a Picture)

An Image with Transparency (Red) and 2 Shapes Designed in Inkscape Loaded directly into the Picture Member of the UserForm (Does not have a Border after Designing without Stroke and using the direct Load)

This is an example of downloading an image, setting the Transparent Colour of one part of the Image to RGB(255, 0, 0) Red and then Loading it into the Picture Member of the UserForm

The Final Hotels Image presented as a Non-standard UserForm Shape ontop of the Worksheet



FAQ

* There are currently no FAQ for UserForm Extensibility




UserForm Extensibility Videos

This is the first video of UserForm Extensibility in action for Examples 1 through to 8. In this demonstration, I go through each of the examples on the Example Sheet. Music Lost & Found (Original Mix) by Roman Messer, Roxanne Emery Get it Here · view this UserForm Extensibility video on YouTube

This is the second video of UserForm Extensibility in action for Examples 9 through to 13. Music Lost & Found (Original Mix) by Roman Messer, Roxanne Emery Get it Here · view this UserForm Extensibility video on YouTube

This is the third video of UserForm Extensibility in action for Examples 13 through to 19. Music is Horizon, by Mark Kubiszyn. Listen to it Here

This is the forth video of UserForm Extensibility in action for Examples 20 through to 28. This includes Version 1.8 through to Version 2 of the Software and includes the Drop Shadow effect that you can add to your UserForms. Music is 'Born a Rockstar - by NEFFEX'

This is a video of the Splash Screen opening up when you open the UserForm Extensibility Software. There is no sound for this Video only White Noise



Support

Please remember you have purchased very affordable Software and you have not paid for a full-time Software design agency - I am but one man. Occasionally I may help with small tweaks, but these requests will be put on a much lower priority due to their nature. You have not PAID for Support, Support is 100% optional and I provide it for your convenience, so please be patient, polite and respectful

Support (limited) for my Software includes

  • Responding to questions or problems regarding the Software and its features
  • Fixing valid (replicated) bugs and reported issues for the VERSION I HAVE WRITTEN

Software support does not include

  • Customization and installation services
  • Support for third party software or ANY kind of development whatsoever

Before seeking support

  • Make sure your question is a valid Software Issue and not a customization request
  • Make sure you have read through the FAQ's, online documentation and any related video guides before asking support on how to accomplish a task
  • Ensure that you access to the VBOM is allowed and that Macros can run in Excel
  • Make sure to provide 'proof of purchase' and state the name / version of the Software that you are having issues with when requesting support by Email or via Facebook

How to get Support

Contact Mark Kubiszyn on the Email address provided when you purchased the Software, including the Order Number
...or Contact Mark Kubiszyn via our Facebook Page - remember to be patient, if there has been an issue with your download, Mark will always respond within 48 hours and will Email you the File directly if neccessary or via Messenger. For other issues the response time may be considerably longer and I may choose to respond to specific questions only (as is my right), depending on what has been asked

Future Builds

* No ideas as yet!

Bug Fixes

* There are currently no bugs identified for UserForm Extensibility

Changelog

Read more information on the status of each release below. The latest Version including a description of any changes is shown first

22.02.2023 - (Version 2)

Added the ability to add a Drop Shadow to UserForms. The main caveat currently is that they cannot use the Drag capability and you MUST use the RemoveDropShadow() function to remove the Drop Shadow when Unloading the UserForm
Added another Video to demonstrate Examples 20 through to 28. This includes Versions 1.8 through to 2 of the Software
Documented and added an Examples 29-30 of how to Skin a Dialog using Affinity Designer and Photoshop step-by-step



16.01.2023 - (Version 1.9)

Release to fix an issue whereby if a Modeless UserForm is Minimised and then restored toegther with its Excel Application Window, the Borders were not completely redrawn and the corners were completely missing

The fix is 2 parts. The first part merely adds a single pixel to the Frame (Width and Height) to fix the right and bottom borders - this does not add more pixels but ensures that at least a 1 pixel size is added when using Screen Metrics. The second part is to add a RepaintCorners() exposed Subroutine that is ran whenever the Excel Application (or Workbook) Window is resized

Commented out the Code line: Sleep 50 in the Cursor Class. This can impact some Flat UI I have created causing a very tiny flicker so I have removed the slight pause as it is not neccessary



10.09.2022 - (Version 1.8)

Added a Scaling Class to Scale and Resize UserForm Controls with Caveats for Images



16.12.2021 - (Version 1.7)

Fix for Windows 11 OS, for a Lightbox. The code detects the the OS Build Number >=22000 indicating Windows 11 or greater and then rounds the Window corners and adjusts the Windows Width & Height



10.11.2021 - (Version 1.6)

Added Examples of creating UserForms with Transparency and Opacity. This enables you to design non-standard looking UserForms very easily with or without a Border, depending on how you initially design them. You can use Packages like Affinity or Photoshop to create your masterpieces. For info, if you don't want a Border and want to design without a Border, then the images desinged in Affinity and loaded directly into the UserForm Picture Memeber seem less jagged on darker Backgrounds
15. Making a UserForm with Transparent Affinity - Object Designed in Affinity with Red Layer RGB(255, 0, 0) as Long value and then 2 Shapes (Insert as Picture in Worksheet)
16. Making a UserForm with Transparent Affinity - Object Designed in Affinity with Red Layer RGB(255, 0, 0) as Long value and then 2 Shapes (Load directly into UserForm)
17. Making a UserForm with Transparent Inkscape - Object Designed in Inkscape with Red Background Square RGB(255, 0, 0) as Long value and then 2 Shapes with 0 Stroke and No Paint Stroke (or you can use Stroke set to 1px same Colour as each Shape)
18. Hotels example of a Transparent Non-standard UserForm Shape. Flat Edges work best, so this Image looks really nice
19. Geek Logo UserForm. Sharp Edges, Curves, Missing parts don't look so good



30.10.2021 - (Version 1.5)

Added an example of adding a Splash Screen - this doesn't switch off the main Excel Splash Screen but it does present a new one on top of it
14. A Splash Screen for Excel



16.10.2021 - (Version 1.4)

Added a New Confirmation Dialog (UserForm 10) to the Project
13. A new Dialog Styled ontop of a Black Lightbox



14.10.2021 - (Version 1.3)

Added the ability to Add Minimise and/or Maximise Buttons to a Standard UserForm
12. Add Minimise and Maximise Buttons to a UserForm



13.10.2021 - (Version 1.2)

Adjusted the Code to allow Animations to ease out wherever the UserForm is dragged around on the Excel Window

Additional Examples and Functionality including a Lightbox:
8. Animated UserForm ontop of a White Lightbox that is set to Fit Excel
9. Animated UserForm ontop of a Black Lightbox that is set to Fit Excel
10. Animated UserForm ontop of a Black Lightbox that is set to Fit to Screen
11. A 2-Step Lightbox Effect using different Easing for the Lightbox and the UserForm



12.10.2021 - (Version 1.1)

Additional Examples and Functionality:
7. Animated Error (Bug) Modal UserForm demonstrating the Easing Functionality, Escape {ESC} to exit
The addition of the 'Easing' Class Code Module and inclusion of an .Tweener() Method together with the .Tween() Function now handles all of the animation In and Out. I have kept it so that you animate In and then the Out animation goes the reverse way (for this release). I have alos included a Top bar with no ttitle, an Icon, a Strong Message Text, Informative Text and an okay button



12.10.2021 - (Version 1)

General release of UserForm Extensibility