this post was submitted on 07 Jul 2023
1910 points (98.3% liked)

Programmer Humor

32371 readers
745 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] seedbrage 7 points 1 year ago (1 children)

This is interesting, can you tell us more about how this is done?

[–] [email protected] 5 points 1 year ago

For the backend I used the ADO library to create a MSAccess DB on a shared network folder. Then it’s a matter of using VBA to generate SQL commands to same library to read / write records from the DB.

For the frontend, I use VBA to generate a HTML document from the fetched data. For the IE control in a user form, you can then write the HTML to it. During this process you can bind local VBA variables to any of the html elements in the page.

A common flow would be:

  • User clicks an element in a table
  • simple JS on the page does some calculation, stores a value in a hidden input and clicks it.
  • the user form variable detects the click in the monitored element, reads the changes, and acts on it.

I also have VBScript to act as the launcher by copying the excel file to the local machine, and launching the local copy. This solves the concurrency issue.