this post was submitted on 07 Jul 2023
123 points (97.7% liked)

Programmer Humor

32411 readers
307 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
[–] [email protected] 5 points 1 year ago (2 children)

I can really emphasise with Samir. Working in healthcare I’m basically limited to just the Office applications. However in the past few years I’ve been able to cook up solutions by reading / writing to file based databases, and using VBA to generate and bind to HTML contents on the fly for the built in IE11 instance. It’s as close to getting to some kind of web-stack within the confines of IT Sec in healthcare.

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

Just a heads up, I think the word you're looking for is empathize.

[–] [email protected] 2 points 1 year ago (1 children)

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

[–] [email protected] 2 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.