Quick Steps

Progress documentation

2 Simple Steps to start working

  1. Start a Project from scratch using the Progress Workbook that you purchased or Export the Progress.BAS UserForm File from the Progress Workbook and then Import this File back into your own Project
  2. Call the Initialise(), Update() and Destroy() Subroutines to run Progress - see the examples that come with Progress.xlsm

Acknowledgement

Progress was written by Mark Kubiszyn based upon a HTML5 CodePen by Stas Melnikov

  • the latest version is version 1.1
  • as per terms of the Software License, you should leave the following code attribution in situ

' © Copyright/Author:
' Mark Kubiszyn 2012-2017. All Rights Reserved
' Website/Follow:
' http://www.kubiszyn.co.uk/
' https://www.facebook.com/Kubiszyn.co.uk/
						

Purchase

You can Purchase Progress for £2.99 via FastSpring by clicking here

Configuration

Configuring Progress is straightforward. Here is the Code to create a simple Progressbar around a fake task that then displays a Complete Page, before Fading out gracefully


    ' // used to prevent the Code from firing if it is already running
    If Progress.Visible Then Exit Sub

    ' // initialise & display the Progressbar
    Progress.Initialise BarEasing:=True, Message:="Processing, please wait..."
    Progress.Show

    ' // do something...
    Dim i As Long
    For i = 1 To 10000
        DoEvents
        Progress.Update i, 10000
    Next i

    ' // exit the Progressbar
    Progress.Destroy ExitBy:=vbAutoHTMLMessageFadeOut
						

Function Parameters

Here is the full list of Function Parameters available when rendering a Progressbar:


 Initialise()
  ByVal BarEasing As Boolean
  Optional Width As Integer = 0
  Optional Height As Integer = 0
  Optional Message As String
  Optional BackgroundColour As Long = 0
  Optional FontColour As Long = 0
  Optional BarColour As Long = 0
  Optional PercentageFontSize As String = ""
  Optional MessageFontSize As String = ""
  Optional FontWeight As Integer = 0
  Optional CompleteCrossXPos As String = ""
  Optional CompleteMargins As String = ""

 Update()
  ByVal Interval As Long
  ByVal Total As Long

 Destroy()
  ByVal ExitBy As DestroyType
   - vbAutoFadeout
   - vbAutoHTMLMessageFadeOut
   - vbHTMLMessageCloseCross
  Optional Message As String = ""
						

Easing

Progress has a few Easing Functions that you can use or you can add your own. The Easing Functions slow accelerate or decelerate the Progressbar when it is displayed. They are in the Update() Subroutine in the Progress UserForm Code Module:


        ' // acceleration, then deceleration
        y = IIf(x > 0.5, 4 * Application.WorksheetFunction.Power((x - 1), 3) + 1, 4 * Application.WorksheetFunction.Power(x, 3))
        ' // acceleration until halfway, then deceleration
        y = IIf(x < 0.5, 4 * x * x * x, (x - 1) * (2 * x - 2) * (2 * x - 2) + 1)
        ' // acceleration until halfway, then deceleration
        y = IIf(x < 0.5, 2 * x * x, -1 + (4 - 2 * x) * x)
        ' // decelerating to zero velocity
        y = x * (2 - x)
						

Screen Shots

Progressbar:

Progress Default

Complete Page:

Progress Complete Page

This is a Screenshot of a Yellow, smaller Progressbar in action:

Progress Yellow Smaller

This is a Screenshot of a bespoke, HTML configured Progressbar in action:

Progress HTML

This is a Screenshot of a nice Green Progressbar in action:

Nice Green

Videos

Progressbar Simulation Demo:



Progressbar Highlight Prime Numbers by Colour Demo:



Yellow Progressbar Demo:

Support

Support is only given to Purchased Software. You should only contact me on the Support Email address supplied by FastSpring - please provide proof of purchase ie. Email address or Order Reference

Changelog

15.11.2016 - Version 1.1 released